标签: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