mysql数据库导入外键约束问题

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/matiascx/article/details/76419856
在网站搬迁过程中,很重要一点是数据的迁移。你的数据库可能已经包含了一个设计良好的数据表集合,并且在网站运营过程中,产生了重要的数据。这时你必须做好包含数据表schema以及数据本身的迁移。

完成上述数据库的迁移,最方便的方法是导出和导入。但是问题是,在导入时,由于数据表本身之间的foreign key外键约束,而导致创建数据无法成功。

临时的解决办法是: 


mysql> set @@global.foreign_key_checks = 0;

在导入完毕后


mysql> set @@global.foreign_key_checks = 1;

展开阅读全文

请问mysql外键约束问题

02-26

rn我有四个表,其中三张表的分别是关于三种产品目录的(必须分别建三张表,因为其他地方要用),rn第四张表是关于这三张表中各个产品汇总的,rn我想把第四张表中的名称与其他三张表进行约束关联,请看:rnuse test;rncreate table if not exists hnd(name varchar(50) primary key, memo varchar(50)) engine=InnoDB;/*手柄*/rncreate table if not exists lid(name varchar(50) primary key, memo varchar(50)) engine=InnoDB;/*盖子*/rncreate table if not exists bkt(name varchar(50) primary key, memo varchar(50)) engine=InnoDB;/*桶*/rncreate table if not exists tal(name varchar(50) primary key, num smallint) engine=InnoDB;/*合计*/rnrnalter table tal add constraint fk_1 foreign key(name) references hnd(name) on update cascade on delete restrict;rnrnalter table tal add constraint fk_2 foreign key(name) references lid(name) on update cascade on delete restrict;rnrnalter table tal add constraint fk_3 foreign key(name) references bkt(name) on update cascade on delete restrict;rnrn这样表tal能建立外键约束关系,但是我分别给hnd、lid、bkt表插入数据后,再给表tal插入数据,rn不管我给表tal中的name取哪个值(hnd、lid、bkt表中的数据),都提示错误,rnERROR 1452 (23000): Cannot add or update a child rowrn请问:有什么办法让汇总表中的name与其他表中的name关联?rn如果不行,还有其他办法完成我的要求吗? 论坛

没有更多推荐了,返回首页