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.