我有一个与此类似的表:
| 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,使生成的表如下所示:
X
X1
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);