在MySQL 中使用多列唯一識別更新時,會出現高效處理更新和更新的挑戰。插入。雖然「UPDATE ON DUPLICATE KEY」語法似乎是一個合適的解決方案,但它需要唯一的金鑰才能運作。
但是,您可以從多個欄位建立複合鍵,這將允許「UPDATE ON DUPLICATE KEY」按需要發揮作用。解決方法如下:
要建立複合鍵,請使用以下語法:
CREATE INDEX <index_name> ON <table_name> (<column1>, <column2>);
例如,讓我們建立一個複合鍵對於問題中提到的三個清單:
CREATE INDEX unique_index ON my_table (col_1, col_2);
建立複合鍵後,您可以執行 'UPDATE ON DUPLICATE KEY' 查詢以根據鍵值更新或插入記錄。語法如下:
INSERT INTO <table_name> (col_1, col_2, col_3) VALUES ('value1', 'value2', 'value3') ON DUPLICATE KEY UPDATE col_3=col_3+1;
在此查詢中,如果指定 col_1 和 col_2 值的記錄已存在,則 col_3 將加 1。否則,將插入一筆新記錄。
以上是複合鍵如何提升 MySQL 的「UPDATE ON DUPLICATE KEY」效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!