Mysql
 sql >> Base de données >  >> RDS >> Mysql

La requête d'insertion MySQL ne fonctionne pas avec la clause WHERE

MySQL INSERT Syntaxe ne prend pas en charge la clause WHERE, votre requête telle qu'elle est échouera. En supposant que votre id la colonne est une clé unique ou primaire :

Si vous essayez d'insérer une nouvelle ligne avec l'ID 1, vous devez utiliser :

INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);

Si vous essayez de modifier les valeurs weight/desiredWeight pour une ligne existante avec l'ID 1, vous devez utiliser :

UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;

Si vous le souhaitez, vous pouvez également utiliser la syntaxe INSERT .. ON DUPLICATE KEY comme suit :

INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145

OU même comme ça :

INSERT INTO Users SET id=1, weight=160, desiredWeight=145 ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145

Il est également important de noter que si votre id colonne est une colonne d'auto-incrémentation, alors autant l'omettre de votre INSERT et laisser mysql l'incrémenter normalement.