MySQL INSERT INTO ... SELECT抛出错误1064

时间:2009-02-27 08:09:07

标签: mysql select insert

尝试复制表格中的某些行,但只需将ssreportid列从4更改为6:

INSERT INTO ssreportparticipant (ssreportid, sssurveyparticipantid)
VALUES
SELECT 6, sssurveyparticipantid FROM ssreportparticipant 
WHERE ssreportid = 4

错误在'select 6,...'附近显示#1064但是如果我只运行select子句,它会完美地选择记录,ssreportid列中的新id为6。

该表有一个名为ssreportparticipantid的主键,并且(ssreportid,sssurveyparticipantid)上有一个唯一键。请注意,select子句创建具有唯一键对的新记录,因此这不是问题。我试过在select子句周围加上括号,甚至为表使用两个别名,没有欢乐。

使用服务器版本5.0.45。

请告诉我程序员疲劳让我想念逗号或其他东西。

谢谢,

-Josh

2 个答案:

答案 0 :(得分:8)

我认为你应该删除“VALUES”

答案 1 :(得分:0)

我不确定,但也许您可能无法使用同一个表中的select插入到表中。您是否尝试从另一个表中进行选择,仅仅是为了测试?