我尝试将列从一个表复制到另一个表(在两个不同的数据库中)
我尝试了以下查询:
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条记录)
答案 0 :(得分: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;
不幸的是我现在无法测试它,但我确信这很有效。别名也应该有用。
答案 1 :(得分:0)
UPDATE database1.table1, database2.table1
SET database1.table1.columnA = database2.table1.columnA
WHERE database1.table1.id = database2.table1.id;