• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql增加外键有哪些方法

mysql 搞代码 4年前 (2022-01-09) 29次浏览 已收录 0个评论

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

mysql添加外键的4种方式

创建主表: 班级

CREATE TABLE class(cid INT PRIMARY KEY AUTO_INCREME<em>本文来源gao.dai.ma.com搞@代*码(网$</em>NT,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增加外键有哪些方法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql增加外键有哪些方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

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