有時候有需要批量更新數據表中從多少行到多少行的某個字段的值
mysql的update語句只支持更新前多少行,不支持從某行到另一行,比如
UPDATE tb_name SET column_name='test' ORDER BY id ASC LIMIT 30;
更新前30行的某個字段內容,沒什么問題。
UPDATE tb_name SET column_name='test' ORDER BY id ASC LIMIT 20,10;
更新從20行到30行的某個字段的內容,這樣會報錯。
解決辦法就是采用子查詢的方式
UPDATE tb_name SET column_name='test' WHERE id in (SELECT id FROM (SELECT * FROM tb_name ORDER BY id ASC LIMIT 20,10) AS tt);
這樣就能實現更新表中根據id升序排序的第20條到第30條數據的某個字段的內容