MYSQL 使用变量更新多个列

我使用此查询将所有值插入到此数据库中:

INSERT INTO products ($fields) VALUES ($values)

但是,我尝试对UPDATE使用相同的格式:

UPDATE products SET ($fields) VALUES ($values) WHERE sku = '$checksku'

...并且我被抛出了一个语法错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('product,make,model,' at line 1

我无法弄清楚。将不胜感激任何帮助。谢谢。


答案 1

更新语法不同于插入语法。UPDATE 的一个示例是:

"UPDATE products SET field1 = 'value1', field2 = '$val2', field3 = 5 WHERE sku = '$checksku'"  

虽然这可能不安全。您应该研究参数化查询


答案 2
INSERT INTO products ($fields) VALUES ($values) ON DUPLICATE KEY UPDATE field = VALUES(field), ...

不要忘记唯一键或主键


推荐