MySQL Update语句与limit的结合使用

首先感谢这位博主给的一个思路
Listening_倾听

ID是唯一值,换成需要的其他唯一值都可,若不需要排序把ORDER BY id ASC去掉即可

UPDATE 表名 SET 列名='修改的值' WHERE id in (SELECT id FROM (SELECT * FROM 表名 ORDER BY id ASC LIMIT 0,1000) AS tt);

UPDATE 表名 SET 列名='修改的值' WHERE id in (SELECT id FROM (SELECT * FROM 表名 ORDER BY id ASC LIMIT 1000,2000) AS tt);

另外我自己写的一种方式,自己并未测过时间(虽然两种都没测过性能消耗),但可行,这种需要一个一个循环走,查出总量之后修改这个limit值


UPDATE 表名 SET 列名='test' LIMIT 1000 WHERE 列名 != 'test';

UPDATE 表名 SET 列名='test' LIMIT 2000 WHERE 列名 != 'test';

但如果真的改单表单列所有的值,直接就跑好了,不要limit,像上边那么复杂其实会慢

posted @ 2021-02-22 09:54  养鼠的猫  阅读(1428)  评论(0编辑  收藏  举报