MySQ外键
外键
1、概述
MySQL3.2版本以后 innodb支持外键约束
外键的作用:可以使俩张表进行关联 保持数据的一致性和实现级联操作
注意:外键类型必须是同一类型 int tinyint 但是 和varchar就不可以
2、创建表
- 
创建A表 mysql> create table a( -> id int unsigned primary key auto_increment, -> name varchar(10) default 'lucky' -> );
- 
创建表B references[ˈrefrənsɪz] mysql> create table b( -> id int unsigned primary key auto_increment, -> a_id int unsigned, -> name varchar(10) default '', -> key a_id(a_id), -> constraint b_f_k foreign key (a_id) references a(id) -> );外键名称b_f_k 当前B表中的a_id 关联a表中的自增id 
3、插入数据
- 
A表插入数据 insert into a values(null,'lucky'); 
- 
B表插入数据 insert into b values(null,1,'b'); 
4、删除数据
- 
删除B表数据 delete from b; 
- 
删除A表数据 delete from a; 
- 
注意 添加外键的表为辅表 另外一个表为主表 当删除B表 在删除A表中数据没有任何问题 删除以后再次使用原命令(上面的添加数据命令进行添加时) B表报错 原因外键关联不上 如果先删除A表 B表如果存在关联数据 则报错 
5、删除外键 添加事件触发限制
- 
查看创建表B show create table B 
- 
删除外键 alter table b drop foreign key b_f_k; 
- 
添加外键 alter table b add foreign key (a_id) references a(id) on delete cascade on update cascade; 
6、删除表A中数据
delete from a;
本文来自博客园,作者:寻月隐君,转载请注明原文链接:https://www.cnblogs.com/QiaoPengjun/p/16013053.html

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号