为表添加外键约束的语法
Alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名);
为表student添加外键约束
执行成功后,使用DESC来查看学生表和班级表
可以看出,grade表中的ID是主键,student表中的gID是外键
使用show create table,查看表的详细结构
可以看出,gID为student表的外键,并且,gID依赖于grade表中的ID主键。
为表添加外键约束时,需要注意
1、建立外键的表,必须为InnoDB型,不能使临时表,因为,在MysqL中只有InnoDB类型的表,才支持外键。
2、定义外键名时,不能加引号,比如constraint’FK_ID’或constraint”FK_ID”都是错误的
添加外键约束的参数说明
建立外键,是为了保证数据的完整和统一性,如果,主表中的数据被删除或修改,那么,从表中对应的数据也应该被删除,否则,数据库会存在很多无意义的垃圾数据。
MysqL可以在建立外键时,添加ON DELETE或ON UPDATE子句,来告诉数据库,怎样避免垃圾数据的产生
语法格式
alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名);
参数说明CASCADE——删除包含与已删除键值,有参照关系的所有记录
SET NulL——修改包含与已删除键值,有参照关系的所有记录,使用NulL值替换,不能用于已标记为NOT NulL的字段
NO ACTION——不进行任何 *** 作
RESTRICT——拒绝主表删除或修改外键关联词,在不定义ON DELETE和ON UPDATE子句时,这是默认设置,也是最安全的的设置
总结以上是内存溢出为你收集整理的MySQL为表添加外键约束全部内容,希望文章能够帮你解决MySQL为表添加外键约束所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)