MySQL如果INSERT中的语句,而SELECT来自另一个表

时间:2014-03-12 14:58:38

标签: mysql

我试图让我的查询在数据库中为另一个数据库中的每个项插入一行。如果另一个表的ID为1,我还希望它更改Unlocked的值。

INSERT INTO tblPlayerCharacters (HottSourceID, CharacterID, Unlocked)
SELECT $hottSourceID, tblCharacters.ID, IF(tblCharacters.ID == 1, 0, 1)
FROM tblCharacters

如果我不想要动态插入,如果没有IF声明,它可以正常工作。

这是我得到的错误 您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在' == 1,0,1)FROM tblCharacters'附近使用正确的语法。在第2行

2 个答案:

答案 0 :(得分:2)

MySQL不使用双等号。删除它并重试。

答案 1 :(得分:1)

只需替换:

IF(tblCharacters.ID == 1, 0, 1)

使用:

IF(tblCharacters.ID = 1, 0, 1)