INSERT
et WHERE
L'instruction INSERT
de MySQL ne prend pas en charge la clause WHERE
. Par conséquent, la requête suivante :
<code class="language-sql">INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 ) WHERE id = 1;</code>
échouera.
Si vous essayez d'insérer une nouvelle ligne avec l'ID 1, utilisez la requête suivante :
<code class="language-sql">INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);</code>
Si vous souhaitez modifier la valeur weight
/desiredWeight
d'une ligne existante avec l'ID 1, utilisez l'instruction UPDATE
:
<code class="language-sql">UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;</code>
INSERT ... ON DUPLICATE KEY
GrammaireVous pouvez également utiliser la syntaxe 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>
ou :
<code class="language-sql">INSERT INTO Users SET id=1, weight=160, desiredWeight=145 ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145;</code>
Si la colonne id
est une colonne à incrémentation automatique, vous pouvez complètement omettre la colonne INSERT
dans la requête : id
<code class="language-sql">INSERT INTO Users( weight, desiredWeight ) VALUES ( 160, 145 );</code>
. id
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!