我有一个包含50多个列的应用程序表,我还有一个这个应用程序的存档表。
现在我想从归档表恢复到主表,但它们的列数彼此不匹配,因此运行查询:
INSERT INTO apps
SELECT * FROM apps_archive
WHERE client_id = 1234
给了我一个错误:
错误代码:1136 - 列数与第1行的值计数不匹配
我已尝试使用IGNORE
语句,但只有在唯一键可能有问题时才有效。
可以帮助我的是,无论如何只在匹配的列上运行此查询,或者使归档表与主表结构匹配。
由于
答案 0 :(得分:1)
由于列数不匹配,这意味着它们两个表没有相同的表模式。如果您的apps
表恰好具有较少数量的列,则对apps_archive
表的结果进行投影。否则,您可以使用Talend Open Studios for data integration等数据集成工具来迁移数据。