我認爲這很容易解決,但我遇到了麻煩。我將記錄插入帶有自動遞增ID的表格中。在重複鍵更新時,我希望自動遞增的ID保持不變(不更新)。舉例來說,假設我有如下表:如何禁用自動遞增ID更新重複密鑰更新?
+-------------+-----------+------+
| ID | Fruit | Color|
+-------------+-----------+------+
| 1 | Apple | Red |
| 2 | Apple | Green|
+-------------+-----------+------+
然後我運行:
INSERT INTO table (Fruit, Color) VALUES(
Apple, Red)
由於我的唯一關鍵的是(水果,彩色)(也ID是一個單獨的一個),我想當我的表更新時,ID列保持原樣(ID = 1);然而,當我插入上面的值時,ID自動遞增到3.
有人可以提供ON DUPLICATE KEY UPDATE語句來防止ID值在更新時增加嗎?
INSERT INTO table (Fruit, Color) VALUES(
Apple, Red)
ON DUPLICATE KEY UPDATE (
{statement here})
MySQL如何知道插入哪個值?另外,我不認爲觸發在這裏是可能的。 –