首頁 >資料庫 >mysql教程 >MySQL 如何處理 INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 語法?

MySQL 如何處理 INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 語法?

Patricia Arquette
Patricia Arquette原創
2024-12-06 06:59:11626瀏覽

How Does MySQL Handle INSERT ... SELECT ... ON DUPLICATE KEY UPDATE Syntax?

INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 語法說明

執行INSERT 查詢時,某些欄位可能已存在於對於目標表,可以使用ON DUPLICATE KEY UPDATE 子句。此子句可讓您指定更新條件和要更新的值。

此類查詢中 UPDATE 子句的語法如下:

要理解的關鍵方面是MySQL 如何引用正在插入和更新的值。預設情況下,等號之前的部分引用 INSERT INTO 子句中指定的列,而等號之後的部分引用 SELECT 子句中指定的列。

例如,考慮以下查詢:

在此查詢中,INSERT INTO子句中命名的列將用於列分配默認值:

  • exp_id
  • 創建者
  • 位置
  • 動物
  • 開始時間
  • 結束時間

中命名的欄位SELECT 子句將用於指定更新值:

  • t.location
  • t.animal
  • t.starttime
  • t .endtime
  • t.entct
  • t.inact
  • t.inadur
  • t.inadist
  • t.smlct
  • t.smldur
  • t.smldist
  • t.larct
  • t.lar dur
  • t.lardist
  • t.emptyct
  • t.emptydur

列未包含在 DUPLICATE KEY UPDATE 子句中的將列未包含在EYON DUPLICATE KEY UPDATE 子句中的將列未包含在不會被更新。

以上是MySQL 如何處理 INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 語法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn