加入外键产生错误码

来源:互联网 发布:编程珠玑 编辑:程序博客网 时间:2024/06/10 02:36

    今天想试一下插入外键约束,然后就出了一堆错误。。。。网上一查,一个错误码可能有多种错误。先说下怎么为依据有的表插入外码。(主要有这些:ERROR 1452 (23000):ERROR 1005 (HY000):mysql errno: 150 

alter table index5 add constraint Fcode foreign key index5(id) references index3(id);
   我输入这个后跟出一个错误。。。。。。然后,我改了一堆。。。。终于是终于搞定了。
      错误不是因为这个语句的语法错误,语法没错。

    1、首先两个表的存储引擎需要匹配,另外如果两个存储引擎都是myisam,的确不会报错,但是外键也不会插入,因为myisam不支持外键,只有innodb支持。

    2、父表的对应字段必须是主键。

    3、两个表的类型必须匹配,比如都是int类型,长度也要匹配。

    4、如果一个是索引一个不是,那也要匹配,可以都是或者都不是。

    5、还可能是两个表的编码格式不一样

这个博客有更多的问题,不过不是我遇到的:http://blog.csdn.net/hzx5212/article/details/9469709

  我遇到的还有一个问题不是这任何一个。因为我之前在两个表里面插入了内容,一个表有一条,一个表有两条,这样也是插入不了外码的,删除内容就可以了。

0 0
原创粉丝点击