sql >> Databasteknik >  >> RDS >> Mysql

MySQL Insert-frågan fungerar inte med WHERE-satsen

MySQL INSERT Syntax stöder inte WHERE-satsen så din fråga som den står kommer att misslyckas. Förutsatt ditt id kolumnen är unik eller primärnyckel:

Om du försöker infoga en ny rad med ID 1 bör du använda:

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

Om du försöker ändra vikt/önskad vikt för en befintlig rad med ID 1 bör du använda:

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

Om du vill kan du också använda INSERT .. ON DUPLICATE KEY syntax så här:

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

ELLER till och med så:

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

Det är också viktigt att notera att om ditt id kolumn är en autoinkrementskolumn, då kan du lika gärna utelämna den från din INSERT tillsammans och låta mysql öka den som vanligt.



  1. Vad i helvete är en DTU?

  2. MySQL:Kan inte skapa tabell (errnr:150)

  3. Topp 7 databaser

  4. Lagra frågeresultat i en variabel som använder i PL/pgSQL