mysql 报错 Can‘t create table ‘demo01.tb_Student‘ (errno: 150)*

mysql 添加外键的时候发现报错 150

提示:mysql 添加外键的时候发现报错 ,但是自己外键的类型是一样的,并且另外一个表也存在这个字段
报错内容:Can’t create table ‘demo01.tb_Student’ (errno: 150)

外键用法介绍:

CONSTRAINT Fk_Class_Student FOREIGN KEY(classId) references  tb_class(classId)
CONSTRAINT 约束名字 FOREIGN KEY(外键名字) references  要外键关联的表名(字段名)
CREATE TABLE tb_class(
classId int PRIMARY KEY AUTO_Increment,
ClassName varchar(20) not null
);


CREATE TABLE tb_Student(
StudentId int primary key Auto_increment,
StudentName varchar(20),
classId  int not NULL,
CONSTRAINT Fk_Class_Student FOREIGN KEY(classId) references  tb_class(classId)
)


解决方案:

提示:在创建 tb_Student时后面添加 ENGINE = MYISAM;

CREATE TABLE tb_class(
classId int PRIMARY KEY AUTO_Increment,
ClassName varchar(20) not null
);


CREATE TABLE tb_Student(
StudentId int primary key Auto_increment,
StudentName varchar(20),
classId  int not NULL,
CONSTRAINT Fk_Class_Student FOREIGN KEY(classId) references  tb_class(classId)
)ENGINE = MYISAM;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值