首页 > 代码库 > 在增加外键的时候碰到的问题

在增加外键的时候碰到的问题

在mysql初学当中,碰到了这个问题。

现有两张表,student和class。student表中有id为主键,name和classid,class表中有id为主键,name,准备设置classid为外键约束。语句如下

alter table student add constraint fk_stu_classid foreign key(classid) references class(id);

经检查语句没有错误,但是报错信息如下;

Can‘t create table ‘db_19.#sql-153c_4‘ (errno: 150)

郁闷了半天之后查询外键的定义,要求与所关联主键的类型相同,所以修改之后就解决了问题。

查询之后发现了别的情况

当发生此类的错误的时候,从三个角度入手:

 

1、确保主表有主键。

2、确保主从表数据引擎为InnoDB类型。

3、确定从表外键字段类型与主表一致

所以要谨此这样错误的发生

本文出自 “聂鲁达” 博客,请务必保留此出处http://neruda.blog.51cto.com/9652194/1583023

在增加外键的时候碰到的问题