在 MySQL 中使用唯一鍵約束插入或更新
當您需要處理重複鍵約束時,在 MySQL 表中插入或更新行可能會很棘手。為了解決這個問題,MySQL 提供了多功能的「INSERT ... ON DUPLICATE KEY UPDATE」語句。
如問題所述,您希望將一行插入具有唯一鍵的表中。但是,如果已經存在具有相同唯一鍵的行,則希望更新其值。
傳統上,插入一行會違反唯一鍵約束,導致錯誤訊息。 “INSERT IGNORE”會抑制錯誤,但不會執行更新操作。
解決方案:INSERT ... ON DUPLICATE KEY UPDATE
解決方案在於使用「INSERT ... ON DUPLICATE KEY UPDATE」語法。讓我們使用提供的範例來分解此查詢:
<code class="language-sql">INSERT INTO table_name (ID, NAME, AGE) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE NAME="A", AGE=19</code>
說明:
如果表中不存在 ID=1 的行,則將使用提供的值插入新行。但是,如果已存在 ID=1 的行,則只會使用指定的值更新「NAME」和「AGE」列,而「ID」保持不變。
以上是MySQL 插入或更新時如何處理唯一鍵約束?的詳細內容。更多資訊請關注PHP中文網其他相關文章!