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

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

Barbara Streisand
發布: 2025-01-19 06:26:13
原創
645 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板