我有超过1.5米行的大型数据库。目前我需要做一些查找和替换,但我得到的错误,我认为是由于大量的数据。我正在使用像这样的查找和替换命令......
UPDATE `email_queue` set `content_plain` = replace(`content_plain`, 'Replace this', 'with that');
典型的错误是:
1206 - 锁的总数超过了锁表大小
我在想那是因为大量的行?所以我的想法是,一次更换一个较小的数量会更好。例如:从1到50,000然后从50,001到100,000等等
sql命令会做什么?
答案 0 :(得分:0)
运行扩展名为WHERE id>的命令1000或WHERE id> 5000和id< 1000
答案 1 :(得分:0)
您应该首先使查询更具体。但是你要问的是,使用BETWEEN
“
... WHERE id BETWEEN 0 AND 50000
50,000记录仍然很多,可能想要进一步分解。