mysql查询后出了什么问题?

时间:2015-02-11 13:06:42

标签: mysql

INSERT INTO lm_empleavetypemodelmap(leavetypeid,userid)
VALUES(1682,"b0c6c81f-a20a-4daa-9038-831478d8e11b")
WHERE lm_empleavetypemodelmap.userid NOT IN
  (SELECT lm_empleavetypemodelmap.userid
   FROM lm_empleavetypemodelmap
   WHERE lm_empleavetypemodelmap.leavetypeid = 1683)
  

[Err] 1064 - 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'WHERE lm_empleavetypemodelmap.userid NOT IN附近使用正确的语法(在第1行选择lm_empleavetypemodelmap.user'

1 个答案:

答案 0 :(得分:1)

您不会将wherevalues一起使用。也许最后的东西只是意外的垃圾而你只是想要:

INSERT INTO lm_empleavetypemodelmap(leavetypeid, userid)
    SELECT 1682, 'b0c6c81f-a20a-4daa-9038-831478d8e11b';

或者,对我来说看起来很奇怪:

INSERT INTO lm_empleavetypemodelmap(leavetypeid, userid)
    SELECT 1682, 'b0c6c81f-a20a-4daa-9038-831478d8e11b'
    WHERE NOT EXISTS (SELECT 1 FROM lm_empleavetypemodelmap WHERE leavetypeid = 1683)

即,如果1683不存在,则插入1682。通常你关心的是插入的值,而不是下一个值。