首頁 >資料庫 >mysql教程 >為什麼我的 MySQL INSERT 查詢會因為 WHERE 子句而失敗?

為什麼我的 MySQL INSERT 查詢會因為 WHERE 子句而失敗?

Barbara Streisand
Barbara Streisand原創
2025-01-19 06:26:13610瀏覽

Why Does My MySQL INSERT Query Fail with a WHERE Clause?

MySQL INSERT 查詢與 WHERE 子句衝突

嘗試使用類似以下的查詢向 MySQL 資料庫插入資料時:

<code class="language-sql">INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1;</code>

如果存在 WHERE 子句,則可能會收到錯誤訊息。這是因為 MySQL 的 INSERT 語法不支援 WHERE 子句。

新增行

如果目的是使用指定的 ID 建立新行,正確的查詢應如下所示:

<code class="language-sql">INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);</code>

更新現有行

要修改現有行中的值,應使用 UPDATE 語句:

<code class="language-sql">UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;</code>

INSERT ... ON DUPLICATE KEY

或者,您可以使用 INSERT ... ON DUPLICATE KEY 語法根據唯一鍵或主鍵插入或更新行:

<code class="language-sql">INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145</code>

使用自動遞增列

如果表格中的 id 欄位設定為自動遞增,則可以從 INSERT 查詢中省略它,並讓 MySQL 處理遞增:

<code class="language-sql">INSERT INTO Users SET weight=160, desiredWeight=145</code>

以上是為什麼我的 MySQL INSERT 查詢會因為 WHERE 子句而失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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