用户表:user
主键:id
内容表:post
主键:id
外键:user_id(关联到 user 表的主键 id)
post 表的数据文件存在文本文件中,字段之间用 tab 分隔,当要把文件导入到 post 表时,因 user 和 post 都是 InnoDB 引擎的,有外键约束,运行导入语句:
load data infile '/home/leakon/post.sql' ignore into table post ignore 1 lines ( user_id, title, unixtime );
MySQL 报错,信息如下:
Cannot add or update a child row: a foreign key constraint fails (`leakon/post`, CONSTRAINT `post_FK_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`))
反复尝试,总是失败,后来查了一下解决办法,只要在装载数据之前,插入下述语句,即可暂时关闭外键约束检查:
SET FOREIGN_KEY_CHECKS = 0;
然后再次运行 load data infile 语句,即可立即导入数据。