これ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 ...
配列から結果を挿入するときに引用符を追加する必要がありますか?それとも、私が見たことのない別の問題(おそらく単純です!)がありますか?