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