Java数据库foreign,mysql中的外键foreign key 作者:Java_xb
一張表中可以有多個外鍵。
外鍵的默認作用有兩點:
1.對子表(外鍵所在的表)的作用:子表在進行寫操作的時候,如果外鍵字段在父表中找不到對應的匹配,操作就會失敗。
2.對父表的作用:對父表的主鍵字段進行刪和改時,如果對應的主鍵在子表中被引用,操作就會失敗。
外鍵的定制作用----三種約束模式:
district:嚴格模式(默認), 父表不能刪除或更新一個被子表引用的記錄。
cascade:級聯模式, 父表操作后,子表關聯的數據也跟著一起操作。
set null:置空模式,前提外鍵字段允許為NLL, 父表操作后,子表對應的字段被置空。
使用外鍵的前提:
1. 表儲存引擎必須是innodb,否則創建的外鍵無約束效果。
2. 外鍵的列類型必須與父表的主鍵類型完全一致。
3. 外鍵的名字不能重復。
4. 已經存在數據的字段被設為外鍵時,必須保證字段中的數據與父表的主鍵數據對應起來。
二、新增外鍵
1. 在創建時增加
create table my_tab1(
id int primary key auto_increment,
name varchar(10) not null,
class int,
foreign key(class) references my_tab2(主鍵字段名);
)charset utf8;
2. 在創建好的表中增加
alter table my_tab1 add [constraint 外鍵名] foreign key(外鍵字段名) references mytab2(主鍵字段名);
三、刪除外鍵
alter table my_tab drop foreign key 外鍵名字;
總結
以上是生活随笔為你收集整理的Java数据库foreign,mysql中的外键foreign key 作者:Java_xb的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: page分页php,Page分页函数
- 下一篇: 52级27w。。。。还有救吗,求代练