删除后mysql插入失败,因为“重复条目”
我有两个mysql查询的代码。
DELETE FROM my_table WHERE user_id=some_number
INSERT INTO my_table (user_id, ... ) VALUES(some_number, ...)
字段user_id是唯一的。
在极少数情况下,插入失败声称发生了重复条目。 我的第一本能让我相信DELETE没有完成,现在插入试图插入,我得到一个重复的条目。 这可能吗? 我怎样才能避免这种情况? 可以想象一个不同的解释吗?
更新:我要删除的原因是因为我想删除第一次没有更新/插入的所有数据。 另外,我认为重要的是说大部分数据保持不变。
SET AUTOCOMMIT=0;
START TRANSACTION;
DELETE FROM my_table WHERE user_id=some_number;
INSERT INTO my_table (user_id, ... ) VALUES(some_number, ...);
commit;
改用UPDATE语句:
UPDATE my_table
SET my_column = my_value
WHERE user_id = some_number
您可以在DELETE后总是尝试COMMIT以确保其完成。
链接地址: http://www.djcxy.com/p/53715.html上一篇: mysql insert after delete fails because of "duplicate entry"