0

我试图将一列从一个表复制到另一个表(在两个不同的数据库中)

我尝试了以下查询:

update des_db.mytable as des 
set col=  (select col from src_db.mytable as src where src.id = db.id)

并加入这两个表。
在这两种解决方案中,我都收到错误“锁的总数超过锁表大小”。
我将“innodb_log_buffer_size”增加到 32M,但它不起作用。

我想知道是否有任何解决方案可以做到这一点。

重要提示:源表实际上是我的备份,它的行数与另一个表的行数相同。(666,666 条记录)

4

2 回答 2

1

这样它应该可以工作:

UPDATE
des_db.mytable 
INNER JOIN src_db.mytable ON des_db.mytable.id = src_db.mytable.id
SET
des_db.mytable.col = src_db.mytable.col;

不幸的是,我现在无法对其进行测试,但我很确定这是可行的。别名也应该起作用。

于 2012-04-25T16:03:49.903 回答
0
UPDATE database1.table1, database2.table1
SET database1.table1.columnA = database2.table1.columnA
WHERE database1.table1.id = database2.table1.id;
于 2014-09-09T09:10:50.977 回答