日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

詳解MySQL 外鍵約束

瀏覽:43日期:2023-10-13 13:13:38

官方文檔: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. 創建勢力表(父表)countrycreate 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的記錄被設為NULLupdate 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 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲电影在线一区二区三区| 国产毛片一区二区三区| 中文字幕一区二区三区在线视频| 亚洲激情av| 亚洲丝袜美腿一区| 国产精品www.| 黄色aa久久| 九色精品91| 国产视频亚洲| 欧美一区激情| 欧美成人午夜| 麻豆精品视频在线观看| 久久久久免费| 亚洲二区免费| 日韩精品三区四区| 麻豆精品视频在线观看| 久久理论电影| 91精品国产自产观看在线 | 久久精品青草| 在线精品视频在线观看高清| 在线日韩成人| 精品久久视频| 日韩久久99| 99国产精品免费视频观看| 午夜性色一区二区三区免费视频| 麻豆视频在线观看免费网站黄| 国产亚洲一区二区手机在线观看| 亚洲先锋成人| 久久99精品久久久野外观看| 91精品国产91久久久久久黑人| 欧美日韩四区| 在线天堂资源www在线污| 国产亚洲精品自拍| 一本一道久久a久久精品蜜桃| 韩日一区二区| 婷婷精品在线观看| 国产+成+人+亚洲欧洲在线| 欧美日韩18| 清纯唯美亚洲综合一区| 中文一区二区| 99视频精品全国免费| 国产福利资源一区| 婷婷五月色综合香五月| 国产精品不卡| 日本精品一区二区三区在线观看视频| 日韩一区欧美| 婷婷综合电影| av一区在线| 欧美国产偷国产精品三区| 国产精品成人一区二区网站软件| 亚洲理论在线| 午夜精品免费| av不卡免费看| 91精品观看| 国产在线成人| 免费国产自久久久久三四区久久| 久久中文字幕一区二区三区| 国产亚洲久久| 综合色一区二区| 中文一区在线| 久久久影院免费| 99视频精品视频高清免费| 日韩精品2区| av亚洲一区二区三区| 99视频精品全部免费在线视频| 日韩中文在线电影| 蜜臀国产一区| 日本高清不卡一区二区三区视频| 精品美女久久| 国产综合婷婷| 日韩福利视频导航| 欧美精品三级在线| 中文字幕亚洲影视| 欧美国产另类| 精品国产亚洲一区二区三区大结局| 日韩不卡一二三区| 日韩精品中文字幕第1页| 一区二区三区四区日韩| 免费成人在线影院| 国产精品麻豆成人av电影艾秋| 日韩精品中文字幕第1页| 久久影院一区| 午夜精品婷婷| 日韩va亚洲va欧美va久久| 久久高清免费| 亚洲69av| 久久蜜桃资源一区二区老牛| 综合一区在线| 日韩伦理福利| 亚洲在线一区| 福利精品在线| 精品精品国产三级a∨在线| 99成人在线视频| 免费高清在线一区| 在线一区视频观看| 国产午夜精品一区在线观看| 久久精品观看| 亚洲制服少妇| 91免费精品国偷自产在线在线| 国产精品伦理久久久久久| 亚洲视频国产精品| 国产极品模特精品一二| 国内精品麻豆美女在线播放视频| 丝袜诱惑制服诱惑色一区在线观看 | 视频一区视频二区在线观看| 日韩大片在线| 午夜天堂精品久久久久| 蜜桃精品在线| 精品一区91| 91亚洲精品在看在线观看高清| 久久这里只有| 蜜桃久久久久久久| 日本精品不卡| 国产精品视频一区视频二区| 久久国产精品99国产| 黄色aa久久| 国产日韩视频在线| 女人天堂亚洲aⅴ在线观看| 免费一区二区三区在线视频| 亚洲人成网77777色在线播放| 久久久久一区| 欧美69视频| 婷婷精品进入| japanese国产精品| 亚洲91精品| 亚洲午夜电影| 欧美在线资源| 久久99伊人| 亚洲精品国产日韩| 日韩高清一区在线| 国内自拍视频一区二区三区| 欧美亚洲人成在线| 蜜桃视频在线观看一区| 日本中文字幕不卡| 国产精久久久| 久久精品国产亚洲一区二区三区| 国产精品一区免费在线| 国产精品成人一区二区网站软件| 国产精品久久国产愉拍| 国产激情一区| 黑森林国产精品av| 久久久久欧美精品| 另类亚洲自拍| 国产一精品一av一免费爽爽| 久草免费在线视频| 不卡在线一区| 免费久久99精品国产自在现线| 久久av一区| 国产黄大片在线观看| 亚洲天堂av资源在线观看| 欧美激情麻豆| 欧美黄色网页| 久久午夜精品一区二区| 久久国产精品久久w女人spa| 日韩国产欧美在线视频| 日韩中文字幕在线一区| 激情视频网站在线播放色| 国产精品视区| 欧美激情福利| 99re国产精品| 五月激激激综合网色播 | 一区二区日韩免费看| 国产精品亚洲一区二区在线观看| 亚洲一级少妇| 石原莉奈在线亚洲二区| 欧美欧美黄在线二区| 亚洲va中文在线播放免费| 亚洲精品日韩久久| 亚洲va中文在线播放免费| 婷婷精品在线| 新版的欧美在线视频| 蜜臀av在线播放一区二区三区| 国产成人1区| 青青草国产成人99久久| 欧美成人久久| 国产伦精品一区二区三区千人斩| 高清日韩欧美| 中文字幕亚洲精品乱码| 99久精品视频在线观看视频| 日韩成人在线看| 午夜国产欧美理论在线播放| 久久久精品国产**网站| 老色鬼久久亚洲一区二区| sm久久捆绑调教精品一区| 日韩国产欧美一区二区三区| 亚洲天堂1区| 国产一区二区三区四区五区 | 夜久久久久久| 91日韩在线| 国产精品视频一区二区三区综合| 亚洲一区激情| 丰满少妇一区| 国产日韩在线观看视频| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲神马久久| 精品欧美视频| 日韩精品1区| 欧洲av一区二区| 国产不卡人人| 国产成人调教视频在线观看|