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

外键约束

  • 作用:对外键字段和值进行更新和插入时会和引用表的数进行验证,如果数据不合法则更新和插入会失败,保证数据的有效性
  • 关键字: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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼义虎神

打赏5C币,作者可获得4C币

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值