MySQL並發插入


解決這類並發問題,可以有以下途徑:

找到業務的唯一約束,使用mysql的unique_key解決
根據業務,如果不能找到唯一約束,那就用鎖解決,可以選擇java的鎖,mysql的鎖,或者redis實現

對某個字段做唯一性約束(首先確保這個字段是唯一的)
ALTER TABLE ADD unique(字段名);

mysql在存在主鍵沖突或者唯一鍵沖突的情況下,根據插入策略不同,一般有以下三種避免方法。
1、insert ignore
ignore 會忽略錯誤信息,不報錯。但是不推薦使用,因為 給 not null 插入 null 的這種報錯也會被忽略。
2、replace into
3、insert on duplicate key update

注意,除非表有一個PRIMARY KEY或UNIQUE索引,否則,使用以上三個語句沒有意義,與使用單純的INSERT INTO相同。


免責聲明!

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



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