INSERT
與 WHERE
子句的正確用法MySQL 的 INSERT
語句不支援 WHERE
子句。因此,以下查詢:
<code class="language-sql">INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1;</code>
將會失敗。
如果您嘗試插入一個新的 ID 為 1 的行,請使用以下查詢:
<code class="language-sql">INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);</code>
如果您想要變更 ID 為 1 的現有行的 weight
/desiredWeight
值,請使用 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>
或:
<code class="language-sql">INSERT INTO Users SET id=1, weight=160, desiredWeight=145 ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145;</code>
如果 id
列是自增列,您可以完全省略 INSERT
查詢中的 id
列:
<code class="language-sql">INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 );</code>
MySQL 將自動遞增 id
值。
以上是如何使用 INSERT 和 WHERE 子句在 MySQL 中正確插入或更新資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!