MySQL Update操作提示主鍵沖突(時間戳作為主鍵)


用MySQL實現多行數據Update操作以時間戳作為主鍵的表,提示主鍵沖突

sql語句格式為:

1 update 表名 set 列名='值1' where 列名='值2'

數據庫里有很多行滿足where中的條件,設想中update之后數據庫應該一次對所有滿足條件的行進行值替換

但最后結果是只更新了第一行,后面的行更新時報時間戳主鍵沖突,不能成功更新

原因:

我在建表時設置時間戳在數據行更新時自動更新為更新時間(即體現的是最后修改時間)

數據庫更新多行數據的速度是非常快的,時間戳的精確度不夠高,導致連續更新第二條數據時,更新的時間戳與上一條被更新數據中的時間戳(也剛更新過時間戳)相同,即報主鍵沖突

解決方法:

在表設計中取消時間戳的自動更新

 

 

如果不需要自動更新的,勾掉即可成功一次更新多行

第一次遇到這種問題,跪了  _(:D 」∠❀)_


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM