我认为这很容易解决,但我遇到了麻烦。我将记录插入带有自动递增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如何知道插入哪个值?另外,我不认为触发在这里是可能的。 –