sql >> Database >  >> RDS >> Mysql

MySQL-query voor invoegen werkt niet met WHERE-clausule

MySQL INSERT-syntaxis ondersteunt de WHERE-component niet, dus uw query zoals deze is mislukt. Uitgaande van uw id kolom is uniek of primaire sleutel:

Als u een nieuwe rij met ID 1 probeert in te voegen, moet u het volgende gebruiken:

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

Als u de weight/desiredWeight-waarden voor een bestaande rij met ID 1 probeert te wijzigen, moet u het volgende gebruiken:

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

Als je wilt, kun je ook de syntaxis INSERT .. ON DUPLICATE KEY gebruiken, zoals:

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

OF zelfs leuk vinden:

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

Het is ook belangrijk op te merken dat als uw id column een auto-increment-kolom is, dan kunt u deze net zo goed weglaten uit uw INSERT-bestand en mysql laten verhogen zoals gewoonlijk.



  1. postgresql externe sleutel syntaxis

  2. Excel-bestanden met variabele headers importeren

  3. MariaDB RONDE() vs TRUNCATE()

  4. MySQL - Voorwaardelijke beperkingen voor externe sleutels