由于一開始使用了事務和排它鎖所以并未擔心出現(xiàn)這樣的問題
但是突然發(fā)現(xiàn)在沒有數(shù)據(jù)的情況下插入數(shù)據(jù)會出現(xiàn)重復數(shù)據(jù)
以為是行鎖影響了,將行鎖去除后再試竟然沒有變化
于是想用其他方式代替select和insert的兩條sql
防止重復數(shù)據(jù)的方法
insert ignore into
on duplicate key update
insert … select … where not exist
replace into
可以上4種都無法解決我的問題,因為我需要獲得查詢后的id或插入后的id
所以最后嘗試什么都不用,只加一個唯一索引
這樣擔心會報錯,所以想如果報錯就使用ignore忽略錯誤,結果沒報錯
后面在沒出現(xiàn)過重復數(shù)據(jù),猜測這是mysql解析時的優(yōu)化。
總結:加上唯一索引足以
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/20912.html
閱讀 1686·2021-11-19 09:40
閱讀 2939·2021-09-24 10:27
閱讀 3227·2021-09-02 15:15
閱讀 1888·2019-08-30 15:54
閱讀 1213·2019-08-30 15:54
閱讀 1377·2019-08-30 13:12
閱讀 642·2019-08-28 18:05
閱讀 2808·2019-08-27 10:53