返回信息流我最近在学mysql数据库,学到外键的时候遇到一个问题
create table class(
class_id int not null,
primary key (class_id));
然后定义
create table student(
stu_id int not null primary key auto_increment,
class_id int ,
foreign key (class_id) references class(class_id));
然后是
insert into student values(12,3);
这样的花应该是插入不成功的,但是成功了,为什么呢?
这是一条镜像帖。来源:北邮人论坛 / database / #8376同步于 2014/9/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
求教一个简单的问题
ghoulchu
2014/9/4镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
【 在 westlife 的大作中提到: 】
: 不太懂,是因为明显?可以省略?
: 发自「佳邮」
我的意思是像这样定义的class和stu表,不是通过stu外键关联到一起了吗?在class中没有的id,stu是不能插入数据的,但是这个可以,我就不知道为什么了?昨天我又查了一下,好像必须两个表的engine都为innodb,是这个原因吗?
MYSQL的INNODB引擎才支持外键,没记错的话
【 在 ghoulchu 的大作中提到: 】
: 我的意思是像这样定义的class和stu表,不是通过stu外键关联到一起了吗?在class中没有的id,stu是不能插入数据的,但是这个可以,我就不知道为什么了?昨天我又查了一下,好像必须两个表的engine都为innodb,是这个原因吗?
【 在 q397273499 的大作中提到: 】
: MYSQL的INNODB引擎才支持外键,没记错的话
好像网上也是这么说的 不过现在貌似有个其他问题了 不过还是谢谢啦