12

我想从一个数据库中转储特定表的数据。我正在使用命令 mysqldump -t -uroot -p TEST Person Address Department > /home/Dumps/Desktop/dumb.sql 我的问题是我要导入的数据库这个转储具有相同的表但不同的列数. 例如,与 Test Db 的 Person Table 相比,New DB 中的 Person 表包含多一列。因此,我无法导入我的转储。它显示错误“列计数与第 1 行的值计数不匹配”我发现了问题所在。在 dump.sql 中,插入查询就像

INSERT INTO `Person` VALUES 
    (1,'1',NULL,'2012-05-22 08:05:34',NULL,'shobana',NULL),
    (2,'2',NULL,'2012-07-16 09:56:33',NULL,'prabu',NULL);

但如果是这样的话:

INSERT INTO `Person` 
   (column1,column2,column3,column4,column5,column6,column7) 
   VALUES 
   (1,'1',NULL,'2012-05-22 08:05:34',NULL,'shobana',NULL),
   (2,'2',NULL,'2012-07-16 09:56:33',NULL,'prabu',NULL);

我不会有任何问题。

是否有任何命令可以使用列名映射进行数据转储。

有人可以帮我吗?提前致谢..

4

1 回答 1

24

采用:

mysqldump --complete-insert ....

这将添加列名,您将能够导入它。

于 2012-10-11T15:28:23.180 回答