MySQL学习:外键约束foreign key
1、在创建表时,可添加外键
语法:
CREATE TABLE 表名(
…
外键列
CONSTRAINT 外键名称 FOREIGN KEY (外键列名称) REFERENCES 主表名称(主表列名称)
);
实例:
表为:
数据有冗余
解决方案:分成两张表
分别为:
注意:当不添加外键约束时,很有可能导致对应记录无效,主表中外键对应的字段被删除后,从表中外键列对应的值就无效了。
外键值可以为null,不可为主表中不存在的外键值。
2、删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 外键名;
eg:ALTER TABLE employee DROP FOREIGN_KEY emp_dept_fk;
3、在创建表之后添加外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键列名称) REFERENCES 主表名称(主表列名称)
EG:ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KRY (dep_id) REFERENCES department (id);
4、级联操作
添加级联操作
1、级联更新
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键列名称) REFERENCES 主表名称(主表列名称)ON UPDATE CASCADE;
2、级联删除
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (外键列名称) REFERENCES 主表名称(主表列名称)ON DELETE CASDATE;
注意:级联删除,当删除主表列中的值,对应的外键记录一整列会全部删除,很不安全,使用时应谨慎,
- 点赞 1
- 收藏
- 分享
- 文章举报
- 数据库MYSQL学习总结25—外键约束的使用
- MySQL 外键约束(FOREIGN KEY)
- mysql学习-主键,外键,约束,索引
- mysql 设置外键约束(foreign key)
- MySQL笔记(2)——外键约束 Foreign Key Constraint
- Mysql外键约束foreign key
- MySQL学习10:外键约束下的更新操作
- mysql学习2—外键约束的参照操作
- Mysql入门学习笔记(2)----外键约束
- MySQL学习笔记(9)之外键约束
- MySQL学习笔记:外键约束
- MySQL学习(二)DQL 加强,表与表的关系,及查询,主外键约束
- mysql 使用foreign key(外键) 插入约束
- mysql外键约束( foreign key)
- MySQL学习第二天:分组查询、连接查询、嵌套查询、外键(foreign key)、“一对多”,“多对多”关系表设计
- MySQL command Line 外键约束(FOREIGN KEY)
- MySQL学习9:详解MySQL中的外键约束
- MySQL学习笔记--DQL、DML、DDL、TCL语句,约束(主键、外键)
- Mysql 外键约束
- 1、Mysql无法创建外键的原因 2、MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用