INSERT
dan WHERE
yang betulMySQL INSERT
tidak menyokong klausa WHERE
. Oleh itu, pertanyaan berikut:
<code class="language-sql">INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1;</code>
akan gagal.
Jika anda cuba memasukkan baris baharu dengan ID 1, gunakan pertanyaan berikut:
<code class="language-sql">INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);</code>
Jika anda ingin menukar nilai weight
/desiredWeight
baris sedia ada dengan ID 1, gunakan pernyataan UPDATE
:
<code class="language-sql">UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;</code>
INSERT ... ON DUPLICATE KEY
TatabahasaAnda juga boleh menggunakan sintaks 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>
atau:
<code class="language-sql">INSERT INTO Users SET id=1, weight=160, desiredWeight=145 ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145;</code>
Jika lajur id
ialah lajur autokenaikan, anda boleh meninggalkan sepenuhnya lajur INSERT
dalam pertanyaan: id
<code class="language-sql">INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 );</code>
secara automatik. id
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan atau Kemas Kini Data dengan Betul dalam MySQL Menggunakan Klausa INSERT dan WHERE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!