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