更新中的自动增量值与内部生成的值冲突

时间:2015-07-29 08:07:34

标签: mysql sql prepared-statement innodb

我一直在MYSQL中的重复更新查询中随机插入此错误。 知道发生了什么事吗?我似乎无法有时地重现错误,有时候也不会。

以下是有问题的查询:

p_Mul

描述该表的模式是:

void loadList_functionpointers()

2 个答案:

答案 0 :(得分:1)

你的ON DUPLICATE KEY UPDATE声明在这里没有帮助你。

您正在使用LAST_INSERT_ID,它是上次成功插入行的auto inc,并尝试使用该ID更新重复行。这将始终导致重复的主要(您尝试更改某行的ID以匹配您添加的最后一个内容的ID)

答案 1 :(得分:0)

如果你的目标是

  • 插入新行
  • 使用“有效”
  • 更新现有行

然后

INSERT INTO friendships (u_id_1,u_id_2,status)
        VALUES          ( ?    , ?    ,'active')
        ON DUPLICATE KEY UPDATE
            status = 'active';  -- I changed this