aclhkaclhk wrote:
I have a csv file. I defined the column names inside the perl script
but "sql insert" does not work.
That's because you defined the column names for a table called "passwd" and then tried to do an insert on a table called "b". You need to define the column names for the table you are trying to insert into.

--
Jeff

If the csv has column names, the
script (without col names defined) works.

sql select works on both csv with or without column names.

***** not working ****
/root/csv/db/b
1,peter
2,wilson

insert.pl
   use DBI;
    $dbh = DBI->connect("DBI:CSV:f_dir=/root/csv/
db;csv_sep_char=",";csv_quote_char=;csv_eol=\n")
        or die "Cannot connect: " . $DBI::errstr;
$dbh->{'csv_tables'}->{'passwd'} = {'col_names' => ["id","passwd"]};
$dbh->do("insert into b (id, passwd) values (10,3333)");

[EMAIL PROTECTED] csv]# perl insert.pl

Execution ERROR: No such column 'B.ID' called from insert.pl at 6.

***** working without error*******
id,passwd
1,peter
2,wilson

insert.pl
    use DBI;
    $dbh = DBI->connect("DBI:CSV:f_dir=/root/csv/
db;csv_sep_char=",";csv_quote_char=;csv_eol=\n")
        or die "Cannot connect: " . $DBI::errstr;
$dbh->do("insert into b (id, passwd) values (10,3333)");




Reply via email to