これは簡単に解決できると思いましたが、問題があります。私は自動インクリメント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に自動的にインクリメントされます。
誰かが更新時にID値が増加しないようにON DUPLICATE KEY UPDATEステートメントを提供できますか?
INSERT INTO table (Fruit, Color) VALUES(
Apple, Red)
ON DUPLICATE KEY UPDATE (
{statement here})
MySQLはどのような値を挿入するのですか?また、私はここでトリガーが可能になるとは思わない。 –