【问题标题】:what is wrong following mysql query?mysql查询后有什么问题?
【发布时间】:2015-02-11 21:22:45
【问题描述】:

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 服务器版本相对应的手册,以在第 1 行的 'WHERE lm_empleavetypemodelmap.userid NOT IN( select lm_empleavetypemodelmap.user' 附近使用正确的语法

【问题讨论】:

    标签: mysql


    【解决方案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。通常你关心的是被插入的值,而不是下一个值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-29
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多