专注于云服务器
VPS主机优惠测评
国内免备案虚拟主机

mysql增加外键有哪些方法

mysql添加外键的方法有:在属性值后面直接添加;在sql语句末端添加;使用fk以及在建表后添加外键

mysql增加外键有哪些方法

相关学习推荐:mysql教程

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? 在网上百度无果,自学群无回复 暂时先搁置在这儿

第二种: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增加外键有哪些方法的详细内容,更多请关注名铺123其它相关文章!

赞(0) 打赏
转载请注明出处:晓波笔记 » mysql增加外键有哪些方法
分享到: 更多 (0)
megalayer云服务器

raksmart云服务器

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

晓波笔记-VPS主机,云服务器优惠促销测评

QQ:87304394

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏