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次出现的XX1用,然后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

回到顶部