MySQL INSERT-Syntax
unterstützt die WHERE-Klausel nicht, sodass Ihre Abfrage in ihrer jetzigen Form fehlschlagen wird. Angenommen Ihre id
Spalte ist eindeutig oder Primärschlüssel:
Wenn Sie versuchen, eine neue Zeile mit der ID 1 einzufügen, sollten Sie Folgendes verwenden:
INSERT INTO Users(id, weight, desiredWeight) VALUES(1, 160, 145);
Wenn Sie versuchen, die weight/desiredWeight-Werte für eine vorhandene Zeile mit der ID 1 zu ändern, sollten Sie Folgendes verwenden:
UPDATE Users SET weight = 160, desiredWeight = 145 WHERE id = 1;
Wenn Sie möchten, können Sie auch die Syntax INSERT .. ON DUPLICATE KEY wie folgt verwenden:
INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145
ODER auch so:
INSERT INTO Users SET id=1, weight=160, desiredWeight=145 ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145
Beachten Sie außerdem, dass Ihre id
Spalte eine Autoincrement-Spalte ist, dann können Sie sie genauso gut aus Ihrem INSERT weglassen und mysql wie gewohnt inkrementieren lassen.