in reply to Re: Re: DBD::ANYDATA create table help please.
in thread DBD::ANYDATA create table

With DBD::Anydata in CSV mode do we need to define the field definition still?

Yes you do. Because you are creating the table using SQL, you need to form a valid SQL statement to work properly.

There is another way to create the table - by directly creating the underlying CSV file. This way you do not have to specify field definitions at all:
use strict; use warnings; use DBI; use DBD::AnyData; use IO::File; my $table = "data"; my @fields = qw/ id name /; # === create an empty CSV file === my $csvfile = new IO::File "./data.csv", "w" or die "Can not create CSV file"; print $csvfile join(',', @fields), "\n"; undef $csvfile; my $dbh = DBI->connect('dbi:AnyData(RaiseError=>1):') or die "Can not create database connection"; $dbh->func( 'data', 'CSV', './data.csv', 'ad_catalog'); $dbh->do("INSERT INTO $table VALUES ('01', 'DUMMY' )") or die "Can not insert into data table"; $dbh->disconnect();