sql >> Databáze >  >> RDS >> Mysql

Dotaz MySQL Insert nefunguje s klauzulí WHERE

MySQL INSERT Syntaxe nepodporuje klauzuli WHERE, takže váš dotaz tak, jak je, selže. Za předpokladu, že vaše id sloupec je jedinečný nebo primární klíč:

Pokud se pokoušíte vložit nový řádek s ID 1, měli byste použít:

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

Pokud se pokoušíte změnit hodnoty hmotnosti/požadované hmotnosti pro existující řádek s ID 1, měli byste použít:

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

Pokud chcete, můžete také použít syntaxi INSERT .. ON DUPLICATE KEY takto:

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

NEBO dokonce takhle:

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

Je také důležité poznamenat, že pokud vaše id sloupec je sloupec s automatickým přírůstkem, můžete jej také vynechat z INSERT a nechat jej navýšit jako obvykle pomocí mysql.



  1. MariaDB LENGTHB() Vysvětleno

  2. DELETE VS DROP v SQL

  3. Výběr a konfigurace hardwaru pro SQL Server 2016 Standard Edition

  4. Chyba systému Android:Tuto operaci nelze provést, protože fond připojení byl uzavřen