mysql - 如何在单个查询中更新mysql同一列中的不同值?
问题描述
我有一个表名测试,在 mysql db 中有两个列 ID 和计数。我想在单个查询中执行类似下面的操作(我知道这不起作用)。
UPDATE test
SET
count = (1, 2, 3)
WHERE
id IN (5, 8, 9);
我可以CASE
在 count 和 id 固定时使用,但在我的情况下它们会改变,所以我不能使用它。给定示例,它们有 3 个值,但它可能在 1 到 10 之间变化。如果有人知道如何在单个查询中执行此操作,请提供帮助。
解决方案
如果您有很多对值,一种解决方案是将它们存储在单独的表中,然后将其加入更新查询中:
update test t
inner join mapping m on m.id = t.id
set t.count = m.count
推荐阅读
- android - 水平滚动视图下方的 WebView
- php - 从 XML 响应中提取某些值以创建自定义 JSON 数组
- javascript - VueJS 动态属性作为 HTML/VueMaterial 元素属性的值传递
- kubernetes - 在 yaml 中检索 kubernetes 集群中单个或一组资源的当前配置文件的最安全和最佳方式
- scala - 在 Scala 中使用 String.format 时出错 - java.util.MissingFormatArgumentException:格式说明符“%s”
- angular - 如何从nodejs以反应形式显示图像角度
- c# - 如何从 Oracle 数据库中的多个表中检索数据,创建 DataTable,然后将这些数据存储在 C# 中的类对象中?
- android - 如何解决领域和反应原生应用程序之间的同步问题?
- c++ - 创建一个排序算法,该算法将在一个while循环中以c ++中的特定顺序对多个字符串值进行排序
- javascript - 将展开数组映射到数字