千家信息网

有哪些方法可以增加mysql外键

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,本文主要给大家介绍有哪些方法可以增加mysql外键,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下有哪些方法可以增加mysql外键吧。mysql
千家信息网最后更新 2024年11月23日有哪些方法可以增加mysql外键

本文主要给大家介绍有哪些方法可以增加mysql外键,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下有哪些方法可以增加mysql外键吧。

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

第二种: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外键,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

0