我复制数据库时使用
但是当我试图在我的家用电脑中执行mysqldump - uroot -p pagesjaunes > E:\db.sql时,我出错了,因为mysql pagesjaunes < 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;

我必须先把mysqldump表放在第一位,它可以工作,但是我有很多表,而且会有很多手工排序。
我该怎么办?

最佳答案

我发现我犯了一个错误,在生成的文件中,我删除了这样的行。

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

我以为这只是一个评论,但实际上它们也是指导。

关于mysql - Mysqldump和表的顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21498264/

10-11 02:41
查看更多