多表操作

只谈情不闲聊 提交于 2019-12-06 04:21:17

外键

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

首先,创建两个名为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 外键名;

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!