UPDATE SQL查询中的LIMIT偏移量或OFFSET
我有一个与此类似的表:
| 0 | X || 1 | X |
| 2 | X |
| 3 | Y |
| 4 | Y |
| 5 | X |
| 6 | X |
| 7 | Y |
| 8 | Y |
| 9 | X |
我想先更换2次出现的X
用X1
用,然后4下出现X2
,使生成的表如下所示:
| 0 | X1 || 1 | X1 |
| 2 | X2 |
| 3 | Y |
| 4 | Y |
| 5 | X2 |
| 6 | X2 |
| 7 | Y |
| 8 | Y |
| 9 | X2 |
当然,所讨论的表要大得多,因此出现的次数也会更多,因此手动编辑不是解决方案。
我想做这样的事情:
UPDATE table SET column = 'X' WHERE column = 'X2' LIMIT 90, 88
但是不幸的是,MySQL似乎在UPDATE查询中不支持OFFSET …有什么办法吗?
回答:
尝试这个:
UPDATE table SET column = 'X1' WHERE id IN(SELECT id FROM (SELECT id FROM
table WHERE column = 'X' LIMIT 2) as u);
然后
UPDATE table SET column = 'X2' WHERE id IN(SELECT id FROM (SELECT id FROM
table WHERE column = 'X' LIMIT 4) as u);
以上是 UPDATE SQL查询中的LIMIT偏移量或OFFSET 的全部内容, 来源链接: utcz.com/qa/433282.html