sql >> Database teknologi >  >> RDS >> Mysql

MySQL Insert-forespørgsel virker ikke med WHERE-sætning

MySQL INDSÆT syntaks understøtter ikke WHERE-klausulen, så din forespørgsel, som den står, vil mislykkes. Forudsat dit id kolonne er unik eller primær nøgle:

Hvis du forsøger at indsætte en ny række med ID 1, skal du bruge:

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

Hvis du forsøger at ændre værdierne for vægt/ønsket vægt for en eksisterende række med ID 1, skal du bruge:

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

Hvis du vil, kan du også bruge INSERT .. ON DUPLICATE KEY syntaks som sådan:

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

ELLER endda sådan:

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

Det er også vigtigt at bemærke, at hvis dit id kolonne er en autoincrement-kolonne, så kan du lige så godt udelade den fra din INSERT sammen og lade mysql øge den som normalt.



  1. Lagring af konfigurationer i Android

  2. MySQL - UPDATE-forespørgsel baseret på SELECT-forespørgsel

  3. Sådan fejlfindes 10 Common Access 2019-problemer

  4. De fandens store genstande