A-A+

在mysql中设置外键约束

2015年09月19日 MySQL 暂无评论 阅读 1,714 views 次

一、如何添加外键?

ALTER TABLE table_name
ADD [CONSTRAINT 外键名] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
[ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]

on delete/on update,用于定义delete,update操作

1.CASCADE:外键表中外键字段值会被更新,或所在的列会被删除

2.RESTRICT:RESTRICT也相当于no action,即不进行任何操作.即拒绝父表update外键关联列,delete记录

3.set null:父表外键关联字段被update ,delete时,子表的外键列被设置为null

 

二、外键前提条件?

1)所有tables必须是InnoDB型,它们不能是临时表.因为在MySQL中只有InnoDB类型的表才支持外键

2)所有要建立外键的字段必须建立索引

3)对于非InnoDB表,FOREIGN KEY子句会被忽略掉

 

三、如何查看外键和删除外键?

SHOW CREATE TABLE table_name; #可以查看到新建的表的代码以及其存储引擎.也就可以看到外键的设置

删除外键  alter  table  drop  foreign  key‘外键名’

 

标签:

给我留言

Copyright © 严佳冬 保留所有权利.   Theme  Ality 百度地图 苏ICP备19045515号-2

用户登录

分享到: