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,像上边那么复杂其实会慢