INSERT INTO SELECT不起作用

时间:2012-06-30 12:37:28

标签: mysql sql select insert

INSERT INTO `competitions` (`name`) VALUES SELECT `name` FROM `competitions`

产生以下错误:

  

您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在name FROM competitions' SELECT {{1}}附近使用正确的语法。在第1行

我可能忽略了一些微不足道的事情,但我真的不知道我在这里做错了什么。

2 个答案:

答案 0 :(得分:4)

正确的语法是

INSERT INTO `competitions` (`name`) SELECT `name` FROM `competitions`

请参阅:INSERT ... SELECT Syntax

答案 1 :(得分:2)

从查询中删除VALUES

该陈述的语法是:

INSERT INTO tbl_temp2 (fld_id)
    SELECT tbl_temp1.fld_order_id
    FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;

正确的语法将是:

INSERT INTO `competitions` (`name`)
    SELECT `name` FROM `competitions`