欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL基础学习笔记——外键约束

程序员文章站 2022-06-01 09:13:54
...

外键约束

  • 作用:对外键字段和值进行更新和插入时会和引用表的数进行验证,如果数据不合法则更新和插入会失败,保证数据的有效性
  • 关键字:foreign key 本表字段 references 外表(字段)
创建表时设置外键约束
foreign key(外键字段) reference 主表名(主表主键字段);
create table hero(
    id int(10) unsigned not null primary key auto_increment,
    name varchar(64) not null,
    fongfuid int(10) unsigned not null,
    foreign key(gongfuid) references gongfu(id)
);
对已经存在字段添加外键约束
alter table 表名 add foreign key(外键字段) references 主表名(主表主键字段);
alter table hero add foreign key(fongfuid) references gongfu(id);
删除外键约束
# 1 先获取外键的约束名,该名称系统会自动生成,可以通过查看表创建语句来获取名称
show create table 表名;
# 2  获取名称之后就可以根据名称来删除外键约束
alter table 表名 drop foreign key 外键名;
-----------------------------------------------------------------------
| hero  | CREATE TABLE `hero` (
    ......
    CONSTRAINT `hero_ibfk_1` 
        FOREIGN KEY (`gongfuid`) REFERENCES `gongfu` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 |
# 发现外键的名称叫“hero_ibfk_1”
alter table hero drop foreign key hero_ibfk_1;
相关标签: MySQL