mysql增加外键有哪些方法


本文摘自PHP中文网,作者清浅,侵删。

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

相关学习推荐:mysql教程

mysql添加外键的4种方式

创建主表: 班级

1

2

3

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,'六年级二班')

第一种:在属性值后面直接添加

1

2

3

4

5

CREATE TABLE student(sid INT AUTO_INCREMENT,

sname VARCHAR(10) NOT NULL,

s_cid INT REFERENCES class(cid),

PRIMARY KEY(sid)

);

//添加数据进行测试

1

2

3

INSERT INTO student VALUES(NULL,'王大锤',2)

INSERT INTO student VALUES(NULL,'胡汉三',3)    //约束不生效,原因待查

INSERT INTO student VALUES(NULL,'卧槽',4)     //不敢相信,在测试一次

这种方式,测试不知道为什么,居然添加进去了 WTF? 在网上百度无果,自学群无回复 暂时先搁置在这儿

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

1

2

3

4

5

6

7

CREATE TABLE student(

sid INT AUTO_INCREMENT,

sname VARCHAR(10),

s_cid INT,

PRIMARY KEY(sid),

FOREIGN KEY (s_cid) REFERENCES class(cid)

);

//插入数据测试一下

1

2

INSERT INTO student VALUES(NULL,'王大锤',2)

INSERT INTO student VALUES(NULL,'胡汉三',3)   //约束生效  插入失败

外键约束生效

第三种:fk的使用

1

2

3

4

5

6

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)

);

1

2

INSERT INTO student VALUES(NULL,'王大锤',2)

INSERT INTO student VALUES(NULL,'胡汉三',3)  //约束生效  插入失败

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

1

2

3

4

5

CREATE TABLE student(sid INT AUTO_INCREMENT,

sname VARCHAR(10) NOT NULL,

s_cid INT ,

PRIMARY KEY(sid)

);

//添加外键约束:

1

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

//测试

1

2

INSERT INTO student VALUES(NULL,'王大锤',2)

INSERT INTO student VALUES(NULL,'胡汉三',3)  //约束生效   插入失败

以上就是mysql增加外键有哪些方法的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

c++连接mysql数据库的两种方法小结

mysql索引那些事

mysql中error_log介绍

windows下mysql5.6版本安装及配置过程附有截图和详细说明

mysql数据库sql语句优化

mysql修改my.ini报错怎么办

mysql中jdbc如何实现自动重连机制的实例

mysql索引下推(icp)的简单理解与示例

一文读懂mysql中的索引

mysql如何求两个查询的交集

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

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

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

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

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...