Mysqldump和表格的顺序

我用mysqldump - uroot -p pagesjaunes > E:db.sql复制我的数据库mysqldump - uroot -p pagesjaunes > E:db.sql
但是当我尝试在我的家用电脑上执行mysql pagesjaunes < db.sql时出现错误,因为mysqldump没有在文件db.sql中将正确的顺序放在表中,所以没有外键的表必须是第一个例子。

DROP TABLE IF EXISTS `fonction`;

CREATE TABLE `fonction` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nom` varchar(20) NOT NULL,
  `id_qualite` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `fonction_qualite_fk` (`id_qualite`),
  CONSTRAINT `fonction_qualite_fk` FOREIGN KEY (`id_qualite`) REFERENCES `qualite` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `qualite`;
CREATE TABLE `qualite` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nom` varchar(40) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;

我必须首先放置qualite表,它的工作原理,但我有很多表,并会有很多手动订购。

那我该如何处理呢?


我发现解决方案在这里我犯了一个错误,在文件E:db.sql生成我删除了这样的行

/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;

我在想这只是一个评论,但实际上他们也是说明。


您不能使用mysqldump --compact参数,因为它会删除mysql所需的外键依赖关系的信息(注释),以便以后按照正确的顺序重新创建表。

链接地址: http://www.djcxy.com/p/77169.html

上一篇: Mysqldump and the order of the tables

下一篇: Optimizing HTML tables?