在ID范围内查找和替换

时间:2013-11-13 02:21:01

标签: mysql

我有超过1.5米行的大型数据库。目前我需要做一些查找和替换,但我得到的错误,我认为是由于大量的数据。我正在使用像这样的查找和替换命令......

UPDATE  `email_queue` set `content_plain` = replace(`content_plain`, 'Replace this', 'with that');

典型的错误是:

  

1206 - 锁的总数超过了锁表大小

我在想那是因为大量的行?所以我的想法是,一次更换一个较小的数量会更好。例如:从1到50,000然后从50,001到100,000等等

sql命令会做什么?

2 个答案:

答案 0 :(得分:0)

运行扩展名为WHERE id>的命令1000或WHERE id> 5000和id< 1000

答案 1 :(得分:0)

您应该首先使查询更具体。但是你要问的是,使用BETWEEN

... WHERE id BETWEEN 0 AND 50000

50,000记录仍然很多,可能想要进一步分解。

Have a look at the manual.