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