in reply to Perl array into MySQL Database
If it's an array of strings and the database doesn't support array-typed fields, you could try to create a new table ELEMENTS_TABLE(ID, ELEMENT) which lists all values associated with an ID in the main database, where ID is a FK to the main table. You can retrieve all values associated with the ID by running SELECT ELEMENT FROM ELEMENTS_TABLE WHERE ID=..., the only problem being that the ordering in the original array is not necessarily preserved. To enforce ordering, you'd need to add an extra column (say INDEX) and add ORDER BY INDEX in your select statement. This actually is the only way to do it if the strings can contain basically anything, making it improbable to split by a certain character or set of characters.
Then to retrieve all values, you would run something like:
Then to retrieve all values, you would run something like:
my $sel_array = $dbh->prepare("SELECT ELEMENT FROM ELEMENTS_TABLE WHER +E ID=?"); $sel_array->execute($id); my (@new_array) = map { $_->[0] } @{$sel_array->fetchall_arrayref};
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Perl array into MySQL Database
by sgifford (Prior) on Jul 21, 2004 at 14:55 UTC | |
by perldeveloper (Scribe) on Jul 21, 2004 at 21:25 UTC |
In Section
Seekers of Perl Wisdom