我有2个数据库,即DB1
和DB2
。两个数据库都有一个名为MyTable
的表
虽然MyTable
中的DB1
已过时,但MyTable
中的DB2
有新值。我希望使用MyTable
DB1
更新MyTable
中的DB2
。
MySql版本5.1.61-0ubuntu0.11.10.1 (Ubuntu)
我试过这样(从DB1内部)
update MyTable a, DB2.MyTable b set a.name=b.name where a.id=b.id;
但这导致了
ERROR 1206 (HY000): The total number of locks exceeds the lock table size
提到错误我在innodb_buffer_pool_size=64MB
文件中将缓冲区大小增加到64MB my.conf
并重新启动了mysql服务,但仍显示相同的错误。
有谁能告诉我我哪里出错了?
答案 0 :(得分:0)
UPDATE DB1.dbo.MyTable AS dest JOIN DB2.dbo.MyTable AS src ON dest.id=src.id
SET dest.name=src.name;
答案 1 :(得分:0)