我已经看到这unknown column in 'field list'
是一个经常发生的问题,并且通常有一个简单的解决方案。在我的情况下,我唯一能想到的是我的一些变量需要引号,但考虑到我从数组中提取数据,我最初的反应是那是错误的。我正在尝试在 Perl 中创建表,因此得到了结果。
我可以使用以下方法创建一个表($table
之前声明过):
$dbh->do("create table if not exists $table ( id int(5) not null auto_increment,
time int(2) default null,
result_1 varchar(30),
result_2 varchar(30),
result_3 varchar(30),
rating int(2) default null,
primary key (id))");
但是当涉及到插入我的“结果”时:
my @results = ('abc','def','ghi');
my $r_1 = $results[0];
my $r_2 = $results[1];
my $r_3 = $results[2]; # (these results print out fine)
my $time = time;
my $insert = $dbh->prepare("insert into $table values(id,$time,$r_1,$r_2,$r_3,'')");
$insert->execute;
我得到错误:
DBD::mysql::st execute failed: Unknown column 'abc' in 'field list' at ...
从数组中插入结果时是否需要添加额外的引号?或者还有其他我没见过的问题(可能很简单!)?