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

在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、确定从表外键字段类型与主表一致

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


你可能感兴趣的:(mysql,create,信息,references,foreign)