1

我有一个超过 150 万行的大型数据库。目前我需要查找和替换某些东西,但我收到错误,我认为这是由于大量数据造成的。我正在使用这样的查找和替换命令...

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

一个典型的错误是:

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

我当时在想,这是由于行数过多??所以我在想的是,一次更换少量会更好。例如:从 id 1 到 50,000,然后从 50,001 到 100,000 等等

sql 命令会做什么?

4

2 回答 2

0

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

... WHERE id BETWEEN 0 AND 50000

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

看看手册。

于 2013-11-13T02:34:35.603 回答
0

使用扩展名 WHERE id > 1000 或 WHERE id > 5000 和 id < 1000 运行命令

于 2013-11-13T02:26:20.490 回答