MySQL 表不会更新多行

标签 mysql sql sql-update

我不确定,但我认为我在这个查询中有错误:

UPDATE product_discount SET price = '10,15' WHERE key_id = '1,2' 

我不明白为什么,但它只更新列中的第 10 个并跳过第 15 个。

最佳答案

我认为这就是您所需要的(假设 key_id = 1Price 应为 10):

UPDATE product_discount SET price = CASE WHEN key_id = 1 THEN 10 ELSE 15 END
WHERE key_id IN (1,2) 

关于MySQL 表不会更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22718875/

相关文章:

php - 搜索三个 MySQL 文本字段组合的最快和最具扩展性的方法

c# - SqlConnection 命令在删除时不会引发异常

sql - 在 Oracle 中使用单个更新语句更新两个依赖列

mysql - SQL 如何通过 INNER JOIN 更新 -

sql - MySQL - 索引中有很多列?还是一个接一个?

mysql - 来自 MySQL 的 sqoop,其中数据包含回车符

mysql - MySQL导出Excel文件报错"Unexpected ordering of clauses"

mysql - SQL:使用同一张表核对数量

mysql - 用 MySQL 中的另一个表更新表

string - 向现有字符串添加一个字符