百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql添加外键是什么办法
分享文章到:

mysql添加外键是什么办法

发布时间:08/01 来源:未知 浏览: 关键词:
mysql增加外键的办法有:在属性值背面直接增加;在sql语句末端增加;运用fk以及在建表后增加外键 mysql增加外键的办法有:在属性值背面直接增加;在sql语句末端增加;运用fk以及在建表后增加外键

mysql增加外键的4种方式

新建主表: 班级

CREATE TABLE class(cid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(15) NOT NULL)
INSERT INTO class VALUES(NULL,'六年级一班')
INSERT INTO class VALUES(NULL,'六年级二班')

首先种:在属性值背面直接增加

CREATE TABLE student(sid INT AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
s_cid INT REFERENCES class(cid),
PRIMARY KEY(sid)
);

//增加数据进行测试

INSERT INTO student VALUES(NULL,'王大锤',2)
INSERT INTO student VALUES(NULL,'胡汉三',3)    //束缚不生效,缘由待查
INSERT INTO student VALUES(NULL,'卧槽',4)     //不敢信赖,在测试一次

这种方式,测试不晓得为何,竟然增加进去了 WTF? 在网上baidu无果,自学群无回复 临时先搁置在这儿

第二种:2.在sql语句末端增加

CREATE TABLE student(
sid INT AUTO_INCREMENT,
sname VARCHAR(10),
s_cid INT,
PRIMARY KEY(sid),
FOREIGN KEY (s_cid) REFERENCES class(cid)
);

//插入数据测试一下

INSERT INTO student VALUES(NULL,'王大锤',2)
INSERT INTO student VALUES(NULL,'胡汉三',3)   //束缚生效  插入失败

外键束缚生效

第三种:fk的运用

CREATE TABLE student(sid INT AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
s_cid INT ,
PRIMARY KEY(sid),
CONSTRAINT fk_student_class FOREIGN KEY(s_cid) REFERENCES class(cid)
);
INSERT INTO student VALUES(NULL,'王大锤',2)
INSERT INTO student VALUES(NULL,'胡汉三',3)  //束缚生效  插入失败

第四种:在建表后增加外键

CREATE TABLE student(sid INT AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
s_cid INT ,
PRIMARY KEY(sid)
);

//增加外键束缚:

ALTER TABLE student ADD FOREIGN KEY (s_cid) REFERENCES class(cid);

//测试

INSERT INTO student VALUES(NULL,'王大锤',2)
INSERT INTO student VALUES(NULL,'胡汉三',3)  //束缚生效   插入失败

以上就是mysql添加外键是什么办法的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板