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