[SQL ] MySQL的on duplicate與auto_increment
最近想做當Unique欄位重複時就不插入該筆記錄
我使用的方式是:
a欄位是Unique
INSERT INTO tbl (a, b) VALUES (1, 1)
ON DUPLICATE KEY UPDATE a = VALUES(a), b = VALUES(b);
雖然是用更新的方式,但也同樣能達到效果,而且如果資料有更新也
能同時更新
但如果我有一個c欄位設定成auto_increment,不管有沒有插入或更新資料
在資料庫的AUTO_INCREMENT數字都會增加
換成使用IGNORE的方式:
INSERT IGNORE INTO tbl (a, b) VALUES (1, 1)
這樣做MySQL會回應0筆記錄被寫入,但AUTO_INCREMENT還是被觸發了
請問:
有辦法讓AUTO_INCREMENT在沒資料新增(包含只有更新)就不要自動加1嗎?
OS:Debian 6
MySQL:5.5 (InnoDB)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.226.118
※ 編輯: BloodyDawn 來自: 114.42.226.118 (01/24 22:26)
推
02/02 00:49, , 1F
02/02 00:49, 1F
推
02/26 16:18, , 2F
02/26 16:18, 2F