码迷,mamicode.com
首页 > 其他好文 > 详细

多表操作

时间:2019-11-30 12:01:25      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:student   null   img   info   alter   不能   restrict   size   key   

外键

①外键是指引用另一个表中的一列或多列(被引用的列应具有主键约束或唯一性约束),建立和加强两个表数据之间的链接

首先,创建两个名为student和class的表并给表添加数据

(student表中的class_id是引入了class表中的主键id,从而建立了两个表数据之间的连接。即class_id作为student表的外键)

(被引用的表class是主表,引用外键的表student是从表,两表是主从关系)

(注意:建立的表都必须是INNODB型,不能是临时表,不然不能使用外键)

 技术图片

 技术图片

 技术图片

(注意:引入外键后,外键列只能插入参照列存在的值,参照列被参照的值不能被删除,保证了数据的参照完整性)

(例:下图class表中的id被student表中的class_id引用,那么class表中的id列就不能被删除。如果将student表中class_id列的1913都改为1923或者把1913的那几条学生信息都删掉,那class表中id列的1913那一行就可以成功删除了)

 技术图片

 技术图片

②为表添加外键约束

ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段名) REFERENCES 外表表名(主键字段名);

(注意:定义外键名时,不能加引号。如:constraint ‘FK_ID‘ 或 constraint " FK_ID "都是错误的)

 技术图片

 技术图片

添加外键约束的参数说明

ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段名) REFERENCES 外表表名(主键字段名);

【ON DELETE {CASCADE或SET NULL或NO ACTION或RESTRICT }】

【ON UPDATA {CASCADE或SET NULL或NO ACTION或RESTRICT }】

 技术图片

③删除外键约束

ALTER TABLE表名DROP FOREIGN KEY 外键名;

 技术图片

多表操作

标签:student   null   img   info   alter   不能   restrict   size   key   

原文地址:https://www.cnblogs.com/zhajiye/p/11961555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!