我必须执行查询以在表中插入数据,从另一个表中选择一些字段,但出现此错误:错误代码:1241。操作数应包含 1 列
查询如下:
INSERT into lezione
(data, ora, punti, istruttore, bike, riserve, puntiAssenzaTempo,
puntiDisdettaTempo, orarioDisdetta, note, puntiAssenzaPunti, puntiDisdettaPunti, special)
values (str_to_date('17-02-2014', '%d-%m-%Y'),
(SELECT punti, istruttore, bike, riserve, puntiAssenzaTempo,
puntiDisdettaTempo, orarioDisdetta, note, puntiAssenzaPunti, puntiDisdettaPunti, special
FROM SettimanaTipo where giornoSettimana = 1))
在网上搜索我了解到 SELECT 子句不需要括号所以我删除了它们并且查询如下
INSERT into lezione
(data, ora, punti, istruttore, bike, riserve, puntiAssenzaTempo,
puntiDisdettaTempo, orarioDisdetta, note, puntiAssenzaPunti, puntiDisdettaPunti, special)
values (str_to_date('17-02-2014', '%d-%m-%Y'),
SELECT punti, istruttore, bike, riserve, puntiAssenzaTempo,
puntiDisdettaTempo, orarioDisdetta, note, puntiAssenzaPunti, puntiDisdettaPunti, special
FROM SettimanaTipo where giornoSettimana = 1)
但现在的错误是:错误代码:1064。您的 SQL 语法有误;检查与您的 MySQL 服务器版本对应的手册,了解在第 4 行 0.001 秒处的“SELECT punti, istruttore, bike, riserve, puntiAssenzaTempo, puntiDidisdettaTempo”附近使用的正确语法
最佳答案
改为使用以下查询:
INSERT into lezione
( data, ora, punti, istruttore, bike, riserve, puntiAssenzaTempo,
puntiDisdettaTempo, orarioDisdetta, note, puntiAssenzaPunti,
puntiDisdettaPunti, special)
SELECT str_to_date('17-02-2014', '%d-%m-%Y'), punti, istruttore, bike, riserve,
puntiAssenzaTempo, puntiDisdettaTempo, orarioDisdetta, note, puntiAssenzaPunti,
puntiDisdettaPunti, special
FROM SettimanaTipo WHERE giornoSettimana = 1
还有一个问题是 insert
子句中有 12
列,而您只提供了 11
列,这就是您收到错误 1 => 错误代码:1241。操作数应包含 1 列
。
关于mysql - 操作数应包含 1 列或语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21364988/