删除后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"

下一篇: C# Enumerable yield and foreach