【发布时间】:2018-05-16 00:35:00
【问题描述】:
我有一个名为 tableA 的表,其中包含两列 1,2。我试图从第 1 列中删除一个值,具体取决于数组中的内容。如果该值存在两次,我想将 col1 设置为col1 = col1 - 2。
如果WHERE IN () 没有忽略数组上的重复值,我可以使用UPDATE tableA SET col1 = col1 - 1 WHERE col2 IN (?); .. [arr] 并继续前进。
我还要注意,这与主键或唯一键无关,重复值没有问题。下面是 X 是我需要修复的地方的查询。
UPDATE tableA SET col1 = col1 - X WHERE col2 IN (?); .. [arr]
我知道我可以循环查找 arr 并运行一个简单的查询,例如:UPDATE tableA SET col1 = col1 - 1 WHERE col2 = ? ; .. [arr[i]] 每次但我试图找到更好的方法 - 如果有的话。
【问题讨论】:
标签: mysql arrays node.js sql-update