为了账号安全,请及时绑定邮箱和手机立即绑定

在mysql中怎么添加foreign key?

在mysql中怎么添加foreign key?

郎朗坤 2018-12-13 15:15:17
在mysql中怎么添加foreign key
查看完整描述

1 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

MySQL中,InnoDB引擎类型的表支持了外键约束,MyISAM类型暂时不支持外键。

建立外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;此外,联合主键在MSSQL中建立外键会出现一些情况,不建议使用。

外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作。

外键的定义语法:

1234[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, …)  REFERENCES tbl_name (index_col_name, …)  [ON DELETE {RESTRICT CASCADE SET NULL NO ACTION SET DEFAULT}]  [ON UPDATE {RESTRICT CASCADE SET NULL NO ACTION SET DEFAULT}]

该语法可以在 CREATE TABLE 和 ALTER TABLE 时使用,如果不指定CONSTRAINT symbol,MYSQL会自动生成一个名字。指定约束名称可以方便维护,删除约束可以用

1ALTER TABLE tbl_name DROP FOREIGN KEY symbol

语句快速删掉。ON DELETE、ON UPDATE表示事件触发限制,可设参数:RESTRICT(限制外表中的外键改动)CASCADE(跟随外键改动)SET NULL(设空值)SET DEFAULT(设默认值)NO ACTION(无动作,默认的)


查看完整回答
反对 回复 2019-01-05
  • 1 回答
  • 0 关注
  • 564 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信