我从制作中转出了一个数据库:
mysqldump -u user_name -p intranet2> intranet2.sql
进入开发服务器:
mysql -u user_name -p intranet2< intranet2.sql
我得到了这个:
ERROR 1005(HY000)第244行:无法创建表'./intranet2/dept.frm'(错误号:150)
我试着把它放在sql文件的开头:
SET FOREIGN_KEY_CHECKS = 0;
但我仍然收到相同的消息。 mysqldump应该能够重新创建一个数据库,否则谁能相信我的备份?
答案 0 :(得分:3)
检查引擎是否是InnoDB。
在这种情况下,您可以尝试将这些行放在转储的开头
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
并且这些结束
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
祝你好运