亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 詳解MySQL 外鍵約束

詳解MySQL 外鍵約束

熱門標簽:新鄉智能外呼系統好處 地圖標注客戶付款 咸陽防封電銷卡 申請400電話電話價格 石家莊400電話辦理公司 臨沂做地圖標注 許昌外呼增值業務線路 廣東400企業電話申請流程 宜賓全自動外呼系統廠家

官方文檔:
https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html

1.外鍵作用:

MySQL通過外鍵約束來保證表與表之間的數據的完整性和準確性。

2.外鍵的使用條件

  • 兩個表必須是InnoDB表,MyISAM表暫時不支持外鍵(據說以后的版本有可能支持,但至少目前不支持)
  • 外鍵列必須建立了索引,MySQL 4.1.2以后的版本在建立外鍵時會自動創建索引,但如果在較早的版本則需要顯示建立;
  • 外鍵關系的兩個表的列必須是數據類型相似,也就是可以相互轉換類型的列,比如int和tinyint可以,而int和char則不可以。

3.創建語法

[CONSTRAINT [symbol]] FOREIGN KEY
    [index_name] (col_name, ...)
    REFERENCES tbl_name (col_name,...)
    [ON DELETE reference_option]
    [ON UPDATE reference_option]

reference_option:
    RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT

該語法可以在 CREATE TABLE 和 ALTER TABLE 時使用,如果不指定CONSTRAINT symbol,MYSQL會自動生成一個名字。
ON DELETE、ON UPDATE表示事件觸發限制,可設參數:
RESTRICT(限制外表中的外鍵改動)
CASCADE(跟隨外鍵改動)
SET NULL(設空值)
SET DEFAULT(設默認值)
NO ACTION(無動作,默認的)

CASCADE:表示父表在進行更新和刪除時,更新和刪除子表相對應的記錄
RESTRICT和NO ACTION:限制在子表有關聯記錄的情況下,父表不能單獨進行刪除和更新操作
SET NULL:表示父表進行更新和刪除的時候,子表的對應字段被設為NULL

4.案例演示

以CASCADE(級聯)約束方式

1. 創建勢力表(父表)country
create table country (
id int not null,
name varchar(30),
primary key(id)
);

2. 插入記錄
insert into country values(1,'西歐');
insert into country values(2,'瑪雅');
insert into country values(3,'西西里');

3. 創建兵種表(子表)并建立約束關系
create table solider(
id int not null,
name varchar(30),
country_id int,
primary key(id),
foreign key(country_id) references country(id) on delete cascade on update cascade,
);

4. 參照完整性測試
insert into solider values(1,'西歐見習步兵',1);
#插入成功
insert into solider values(2,'瑪雅短矛兵',2);
#插入成功
insert into solider values(3,'西西里諾曼騎士',3)
#插入成功
insert into solider values(4,'法蘭西劍士',4);
#插入失敗,因為country表中不存在id為4的勢力

5. 約束方式測試

insert into solider values(4,'瑪雅猛虎勇士',2);
#成功插入
delete from country where id=2;
#會導致solider表中id為2和4的記錄同時被刪除,因為父表中都不存在這個勢力了,那么相對應的兵種自然也就消失了
update country set id=8 where id=1;
#導致solider表中country_id為1的所有記錄同時也會被修改為8

以SET NULL約束方式

1. 創建兵種表(子表)并建立約束關系

drop table if exists solider;
create table solider(
id int not null,
name varchar(30),
country_id int,
primary key(id),
foreign key(country_id) references country(id) on delete set null on update set null,
);

2. 參照完整性測試

insert into solider values(1,'西歐見習步兵',1);
#插入成功
insert into solider values(2,'瑪雅短矛兵',2);
#插入成功
insert into solider values(3,'西西里諾曼騎士',3)
#插入成功
insert into solider values(4,'法蘭西劍士',4);
#插入失敗,因為country表中不存在id為4的勢力

3. 約束方式測試

insert into solider values(4,'西西里弓箭手',3);
#成功插入
delete from country where id=3;
#會導致solider表中id為3和4的記錄被設為NULL
update country set id=8 where id=1;
#導致solider表中country_id為1的所有記錄被設為NULL

以NO ACTION 或 RESTRICT方式 (默認)

1. 創建兵種表(子表)并建立約束關系

drop table if exists solider;
create table solider(
id int not null,
name varchar(30),
country_id int,
primary key(id),
foreign key(country_id) references country(id) on delete RESTRICT on update RESTRICT,
);

2. 參照完整性測試

insert into solider values(1,'西歐見習步兵',1);
#插入成功
insert into solider values(2,'瑪雅短矛兵',2);
#插入成功
insert into solider values(3,'西西里諾曼騎士',3)
#插入成功
insert into solider values(4,'法蘭西劍士',4);
#插入失敗,因為country表中不存在id為4的勢力

3. 約束方式測試

insert into solider values(4,'西歐騎士',1);
#成功插入
delete from country where id=1;
#發生錯誤,子表中有關聯記錄,因此父表中不可刪除相對應記錄,即兵種表還有屬于西歐的兵種,因此不可單獨刪除父表中的西歐勢力
update country set id=8 where id=1;
#錯誤,子表中有相關記錄,因此父表中無法修改

以上就是詳解MySQL 外鍵約束的詳細內容,更多關于MySQL 外鍵約束的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • MySQL非空約束(not null)案例講解
  • MySQL外鍵約束(FOREIGN KEY)案例講解
  • MySQL 外鍵約束和表關系相關總結
  • MySQL完整性約束的定義與實例教程
  • MySQL 8.0新特性 — 檢查性約束的使用簡介
  • MySQL中外鍵的創建、約束以及刪除
  • Mysql中索引和約束的示例語句
  • MySQL外鍵約束的實例講解
  • mysql完整性約束實例詳解
  • MySQL約束超詳解

標簽:北京 鷹潭 鎮江 貴州 臺灣 日照 合肥 阜新

巨人網絡通訊聲明:本文標題《詳解MySQL 外鍵約束》,本文關鍵詞  詳解,MySQL,外鍵,約束,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解MySQL 外鍵約束》相關的同類信息!
  • 本頁收集關于詳解MySQL 外鍵約束的相關信息資訊供網民參考!
  • 推薦文章
    韩国三级香港三级日本三级la| 青青久热| 毛片电影网| 国产韩国精品一区二区三区| 精品国产一区二区三区国产馆| 九九久久99综合一区二区| 国产a视频| 亚久久伊人精品青青草原2020| 精品视频一区二区三区免费| 国产91丝袜在线播放0| 欧美一级视| 日韩在线观看视频网站| 一a一级片| 欧美激情在线精品video| 国产一区国产二区国产三区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产麻豆精品视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产激情一区二区三区| 精品在线免费播放| 你懂的福利视频| 九九热精品免费观看| 韩国毛片免费大片| 欧美a级成人淫片免费看| 欧美另类videosbestsex| 日韩av成人| 国产福利免费视频| 午夜家庭影院| 一本高清在线| 精品国产一区二区三区免费| 久草免费在线色站| 国产麻豆精品| 久久国产精品自线拍免费| 欧美电影免费看大全| 成人影院久久久久久影院| 精品国产一区二区三区久久久狼| 国产精品1024永久免费视频 | 亚洲 男人 天堂| 四虎影视久久久| 日本在线不卡免费视频一区| 国产不卡福利| 国产视频久久久| 日韩一级黄色片| 国产麻豆精品视频| 一a一级片| 欧美1区| 国产不卡在线播放| 国产亚洲精品aaa大片| 欧美日本韩国| 亚飞与亚基在线观看| 精品国产一区二区三区久久久狼| 精品国产亚洲一区二区三区| 国产一区二区精品久久| 欧美国产日韩久久久| 韩国毛片免费大片| 国产视频一区二区三区四区| 台湾毛片| 黄色免费三级| 亚洲天堂在线播放| 国产韩国精品一区二区三区| 成人高清视频在线观看| 国产91精品一区| 欧美爱爱动态| 色综合久久天天综合观看| 国产精品自拍在线| 国产一区二区精品| 国产一区二区精品久| 成人影视在线播放| 欧美a免费| 国产网站免费在线观看| 沈樵在线观看福利| 日韩在线观看视频网站| 九九久久99| 国产韩国精品一区二区三区| 国产伦精品一区三区视频| 欧美大片aaaa一级毛片| 精品视频在线观看视频免费视频| 国产韩国精品一区二区三区| 91麻豆精品国产综合久久久| 你懂的日韩| 久久国产影视免费精品| 一本高清在线| 国产国语对白一级毛片| 国产麻豆精品hdvideoss| 国产麻豆精品hdvideoss| 久久国产精品只做精品| 精品视频在线观看一区二区| 亚洲 欧美 91| 沈樵在线观看福利| 午夜在线观看视频免费 成人| 国产伦久视频免费观看 视频| 尤物视频网站在线| 九九精品久久久久久久久| 亚洲女人国产香蕉久久精品 | 欧美爱色| 国产一区二区精品久久| 欧美a免费| 高清一级毛片一本到免费观看| 国产亚洲精品成人a在线| a级毛片免费观看网站| 国产视频一区在线| 久久精品人人做人人爽97| 欧美日本二区| 午夜久久网| 韩国妈妈的朋友在线播放| 国产网站麻豆精品视频| 成人免费网站久久久| 精品美女| 黄色福利| 欧美电影免费| 精品国产香蕉伊思人在线又爽又黄| 欧美大片毛片aaa免费看| 国产视频一区二区在线播放| 日韩中文字幕一区| 一级毛片视频免费| 黄视频网站免费观看| 免费国产在线观看| 成人高清视频在线观看| 国产视频一区二区在线观看| 亚洲天堂免费| 午夜在线观看视频免费 成人| 亚洲精品中文一区不卡| 天天做人人爱夜夜爽2020| 天天做人人爱夜夜爽2020| 精品国产香蕉在线播出| 久久久久久久网| 成人免费一级毛片在线播放视频| 欧美激情一区二区三区在线| 你懂的日韩| 久久久久久久久综合影视网| 国产视频久久久| 亚洲第一页乱| 天天做人人爱夜夜爽2020毛片| 91麻豆精品国产自产在线观看一区| 欧美激情伊人| 国产成人啪精品| 日韩专区第一页| 国产成人精品在线| 999精品视频在线| 午夜在线亚洲| 黄视频网站免费| 国产不卡在线看| 一级片片| 久久精品店| 99色精品| 久草免费在线观看| 国产福利免费观看| 国产高清视频免费观看| 国产成人精品综合久久久| 国产国语在线播放视频| 天天色色色| 免费的黄视频| 久久99青青久久99久久| 午夜精品国产自在现线拍| 香蕉视频一级| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日本伦理网站| 国产麻豆精品hdvideoss| 久久99欧美| 亚洲 激情| 欧美国产日韩久久久| 国产一区二区精品| 国产美女在线观看| 亚欧成人乱码一区二区| 亚欧成人乱码一区二区| 国产一区二区高清视频| 午夜激情视频在线播放| 九九九在线视频| 青草国产在线| 91麻豆精品国产自产在线观看一区| 精品国产香蕉在线播出| 欧美1区| 国产网站免费视频| 欧美a免费| 韩国毛片 免费| 国产网站免费视频| 欧美大片一区| 日韩专区第一页| 精品在线观看国产| 成人免费网站久久久| 成人免费一级纶理片| 九九精品在线| 四虎论坛| 美女免费毛片| 国产伦精品一区二区三区无广告| 日韩专区在线播放| 中文字幕一区二区三区 精品| 国产不卡高清在线观看视频| 中文字幕Aⅴ资源网| 日韩免费片| 国产伦精品一区二区三区无广告| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美另类videosbestsex久久| 欧美另类videosbestsex高清| 精品国产三级a∨在线观看| 一级毛片视频在线观看| 精品久久久久久综合网 | 四虎影视库| 精品国产一区二区三区久|