美文网首页
Mysql外键

Mysql外键

作者: Alisallon | 来源:发表于2018-09-30 09:39 被阅读0次

只有InnoDB存储引擎才支持外键

有两张表:

create table essay(
  id bigint auto_increment comment 'id' primary key,
  title varchar(255) default '' not null comment '标题',
  comment varchar(255) default '' not null comment '备注',
  type int(1) default '0' not null comment '类型(0:type1 1:type2)',
  c_time datetime not null comment '创建时间'
)
engine = InnoDB
charset = utf8;

create table user(
  id bigint auto_increment comment 'id' primary key,
  name varchar(255) default '' not null comment '名称',
  essay_id bigint null,
  #方式1:创建外键约束
  constraint FK_ESSAY_ID foreign key (essay_id) references essay(id)
)
engine = InnoDB
charset = utf8;

创建外键

方式1:

如上面创建表的语句:

constraint FK_ESSAY_ID foreign key (essay_id) references essay(id)
方式2:
# on delete/update XXXXX
# 上面的XXXXX表示外键约束方式,有下面4种:
# cascade:删除/更新父表的某条记录,子表中引用该值的记录会自动被删除/更新
# no action:如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作
# restrict:同no action,如果子表引用父表的某个字段的值,那么不允许直接删除父表的该值
# set null:在父表上update/delete记录时,将子表上匹配记录的列设为null 要注意子表的外键列不能为not null
alter table user add constraint FK_ESSAY_ID foreign key (essay_id) references essay(id) on delete cascade;

删除外键

alter table user drop foreign key FK_ESSAY_ID ;

相关文章

  • 09_MySQL多表 & JDBC

    MySQL多表 外键 主表主键和从表外键 ==(从表的外键引用主表的主键)== 从表的外键类型必须和主表的主键类型...

  • Mysql外键

    只有InnoDB存储引擎才支持外键 有两张表: 创建外键 方式1: 如上面创建表的语句: 方式2: 删除外键

  • mysql外键

    为已经添加好的数据表添加外键: 语法:alter table 表名 add constraint FK_ID fo...

  • MySQL - 外键

    一、定义 外键约束(FOREIGN KEY Constraint) ,用来维护从表(Child Table)和主表...

  • 设置外键,外键约束值的区别

    laravel 设置外键,并设置外键约束的方式 为联级删除 更新:在使用Navicat for mysql设计表时...

  • laravel 填充数据前用truncate清空有外键的表时报错

    原理就是在执行truncate之前告诉mysql取消所有外键约束检查,清空之后再恢复外键约束检查。 参见: htt...

  • mysql 添加外键约束错误 1215 Cannot add t

    mysql 添加外键约束 1215 Cannot add the foreign key constraint 1...

  • MySQL 外键应用

    1). MySQL 引擎 如果InnoDB状态不可用,可参考此文激活. 2). 创建主表 3). 创建从表 4)....

  • MySQL外键约束

    1、概念 外键:从表中的公共字段称之为外键好处:保证数据库数据的完整性,不会存在数据丢失的情况缺点:对性能有影响,...

  • MYSQL学习——外键

    mysql 外键: 新建: 已经建表后修改: alter table 子表的数据表名 add foreign ke...

网友评论

      本文标题:Mysql外键

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