sqlite> create table data (id integer, text);
sqlite> insert into data values (1, 'test data');
sqlite> select * from data;
id text
---------- ----------
1 test data
sqlite> .q
And corrections to your original code
#!/usr/bin/perl
use warnings;
use strict;
use DBI;
my $dbh = DBI->connect( "dbi:SQLite2:dbname=mydatabase.db", "", "" )|
+| die "Cannot connect: DBI";
my @pages;
# Create the table and make the columns
my $column_creator = join(' INTEGER,', @pages) . ' INTEGER';
my $create_columns = "CREATE TABLE mytable ($column_creator)";
$dbh->do($create_columns);
my $id_number = 1;
my $current_column;
my @splitted_string1;
my $sth = $dbh->prepare("SELECT text FROM data WHERE id = '$id_number
+'");
$sth->execute();
while (my $record=$sth->fetchrow_hashref()) {
print $record->{text} . "\n";
@splitted_string1 = split " ", $record->{text};
}
$dbh->disconnect();
Then running the script produces:
helphand@helphand:~> perl sqlite.pl
test data
helphand@helphand:~>
But, note that @pages is never set to anything, so your mytable ends up with a schema like this CREATE TABLE mytable ( INTEGER);, which is probably not what you want.
Scott
|