使用insert on duplicate key update插入重復數據的時候,只更新了重復唯一索引的數據,返回影響行數為2行。查資料都是說操作會執行兩部操作:1.insert表嘗試插入【嘗試插入,存在重復數據,此時應無表數據變更】2.update更新唯一索引的值【變更行數1】所以比較困惑另外一處變更是發生在哪里,第一次提問,求大佬解惑相關代碼// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)表結構CREATE TABLE test1
( id INT AUTO_INCREMENT
PRIMARY KEY, name VARCHAR(20) NOT NULL,
stu_id INT NOT NULL) ENGINE = InnoDB;id唯一insert into test1 VALUES ('4','小黑','2') on DUPLICATE KEY UPDATE stu_id=stu_id+1;commit;
1 回答

九州編程
TA貢獻1785條經驗 獲得超4個贊
insert on duplicate key update是不會去做刪除數據操作的,replace語句才會
影響行數為2的原因,可以參考這篇文章mysql自增id超大問題查詢
添加回答
舉報
0/150
提交
取消