我们正在使用MySQL Workbench 6.2来迁移数据。我们的源表和目标表具有不同的列数。比如说,源表有16个,目标表有18个。
当我们迁移时,Workbench说
错误目标数据库中的列数错误。
源表和目标表列数是否相同?或者是否有某种方法可以告诉目标表列的Workbench默认值或派生值?
答案 0 :(得分:0)
也许您在迁移脚本/步骤中执行这样的SELECT INTO
查询,这取决于数据库中的列数而不是实际的列名。
SELECT *
INTO newtable [IN externaldb]
FROM table1;
或
insert into items_ver
select * from items where item_id=2;
在某个地方,您的数据库的可用行数发生了变化,因此您无法执行其中任何一项
你可以像这样指定列:
insert into items_ver(column1, column2, column3)
select column1, column2, column3 from items where item_id=2;
或者将一个数据库中的2个缺失列添加到另一个数据库中,并确保它们都匹配。
答案 1 :(得分:0)
在MySQL Workbench迁移向导(或架构转移向导)中,无法执行此操作。源数据库和目标数据库中的所有列都必须匹配。