美文网首页
mysql-外键约束

mysql-外键约束

作者: 戏之地 | 来源:发表于2017-02-22 17:51 被阅读880次

创建外键

表的结构已经建好,如何修改为外键

ADD CONSTRAINT abc -- abc作为别名 
FOREIGN KEY(dept_id) REFERENCES department(id); ```
在开始创建的时候创建外键

create table dep (
id int primary key auto_increment,
dep_id int ,
foreign key(dep_id) references dep(id)
)
[CONSTRAINT symbol] FOREIGN KEY (从表的字段)

REFERENCES table_main (主表的字段)

[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]

[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION} ```

CONSTRAINT symbol:可以给这个外键约束起一个名字,有了名字,以后找到它就很方便了。
如果不加此参数的话,系统会自动分配一个名字。
FOREIGN KEY:将从表中的字段1作为外键的字段。
REFERENCES:映射到主表的字段2。
ON DELETE后面的四个参数:代表的是当删除主表的记录时,所做的约定。
RESTRICT(限制):如果你想删除的那个主表,它的下面有对应从表的记录,此主表将无法删除。
CASCADE(级联):如果主表的记录删掉,则从表中相关联的记录都将被删掉。
SET NULL:将外键设置为空。
NO ACTION:什么都不做。
注:一般是RESTRICT和CASCADE用的最多。

删除外键

ALTER TABLE student DROP FOREIGN KEY abc;

外键的四种形式

on delete的后面可以跟4个参数

  • RESTRICT(限制):如果你想删除的那个主表,它的下面有对应从表的记录,此主表将无法删除

  • CASCADE :如果主表中的纪录删除后,从表中的信息也会消失

  • SET NULL:将外键设置为空。

  • NO action : 什么也不做jjkjjasq

相关文章

  • mysql-外键约束

    创建外键 表的结构已经建好,如何修改为外键 create table dep (id int primary ke...

  • MYSQL-外键约束

    FOREIGN KEY 保证数据一致性、完整性 实现一对一、一对多的关系 要求: 1、父表和子表必须使用相同的存储...

  • 5 MySQL 命令

    [Toc] 1 禁用外键约束 禁用外键约束:SET FOREIGN_KEY_CHECKS=0 启用外键约束:set...

  • 外键约束

    外键约束主要包含添加外键和删除外键。 1、外键约束-添加外键 create table 表名(字段名 数据类型,....

  • SQL Server 临时禁用和启用所有外键约束(迁移数据或删除

    获得禁用所有外键约束的语句 获得启用所有外键约束的语句 执行结果

  • sql 添加索引,外键约束

    索引 外键约束

  • Mysql foreign key and trigger

    外键约束与触发器 建表 主表 users 副表 user_info 外键约束 副表 user_info 添加外键约...

  • SQL中增删外键约束

    1. 删除外键约束 查询出表中外键约束 删除约束alter table 表名 drop constraint 外键...

  • 外键约束

    约束:NOT NULL,PRIMARY KEY,UNIQUE KEY,DEFAULT,FOREIGN KEY 约束...

  • 外键约束

    外键约束的本质就是增加数据的可重复利用性。也就是说假如我们有一个省份的表:P表,这个表里存储着中国34个省份名称并...

网友评论

      本文标题:mysql-外键约束

      本文链接:https://www.haomeiwen.com/subject/eeumwttx.html