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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM