sql >> Base de Datos >  >> RDS >> Mysql

La consulta MySQL Insert no funciona con la cláusula WHERE

MySQL INSERT Sintaxis no admite la cláusula WHERE, por lo que su consulta fallará. Asumiendo tu id la columna es única o clave principal:

Si está intentando insertar una nueva fila con ID 1, debería usar:

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

Si está tratando de cambiar los valores de peso/peso deseado para una fila existente con ID 1, debe usar:

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

Si lo desea, también puede usar la sintaxis INSERT .. ON DUPLICATE KEY así:

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

O incluso así:

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

También es importante tener en cuenta que si su id columna es una columna de incremento automático, entonces también puede omitirla de su INSERCIÓN y dejar que mysql la incremente como de costumbre.