我有一些来自旧表的数据,我需要将很多列插入到新表中,但列数并不多。
如果您只是尝试将旧表中的sql dump数据直接导入到新表中,则会出现错误:
Unknown column 'fake' in 'field list'
有没有办法让这个忽略错误(INSERT IGNORE不起作用!),而不重写整个转储文件?我考虑的另一个选项是更改新表以在旧列中添加,然后执行导入,然后再次更改以在导入后删除这些列。
感谢您的任何想法。
答案 0 :(得分:0)
我会更改列名以使其适合转储文件,导入它然后重命名列名。
答案 1 :(得分:0)
您可以随时更改转储文件以匹配当前的数据库结构。一个简单的search & replace
可能只是这样做。
INSERT INTO old_table(field1, field2) VALUES(...);
vs
INSERT INTO new_table(new_field1, new_field2) VALUES (...);