精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

MySQL數據庫外鍵的相關知識詳解

數據庫 MySQL
本文我們以一個具體的例子來介紹了MySQL數據庫外鍵的相關知識,以及使用外鍵時的一些相關的注意事項,希望能夠對您有所幫助。

MySQL數據庫外鍵的相關知識是本文我們主要要介紹的內容,接下來我們通過一個具體的例子來逐步介紹這些設置。假如某個電腦生產商,它的數據庫中保存著整機和配件的產品信息。用來保存整機產品信息的表叫做pc;用來保存配件供貨信息的表叫做parts。

在pc表中有一個字段,用來描述這款電腦所使用的CPU型號;在parts表中相應有一個字段,描述的正是CPU的型號,我們可以把它想成是全部CPU的型號列表。很顯然,這個廠家生產的電腦,其使用的CPU一定是供貨信息表(parts)中存在的型號。這時,兩個表中就存在一種約束關系(constraint)——pc表中的CPU型號受到parts表中型號的約束。

首先我們來創建parts表:

CREATE TABLE parts ( ... 字段定義 ..., model VARCHAR(20) NOT NULL, ... 字段定義 ... );

接下來是PC表:

CREATE TABLE pc ( ... 字段定義 ..., cpumodel VARCHAR(20) NOT NULL, ... 字段定義 ... };

設置索引

若要設置外鍵,在參照表 (referencing table,即pc表) 和被參照表(referenced table,即parts表)中,相對應的兩個字段必須都設置索引(index)。

對parts表:

ALTER TABLE parts ADD INDEX idx_model (model);

這句話的意思是,為parts表增加一個索引,索引建立在model字段上,給這個索引起個名字叫idx_model。

對pc表也類似:

ALTER TABLE pc ADD INDEX idx_cpumodel (cpumodel);

事實上這兩個索引可以在創建表的時候就設置。這里只是為了突出其必要性。

定義外鍵

下面為兩張表之間建立前面所述的那種“約束”。因為pc的CPU型號必須參照parts表中的相應型號,所以我們將pc表的cpumodel字段設置為“外鍵”(FOREIGN KEY),即這個鍵的參照值來自于其他表。

ALTER TABLE pc ADD CONSTRAINT fk_cpu_model  FOREIGN KEY (cpumodel)  REFERENCES parts(model);

第一行是說要為pc表設置外鍵,給這個外鍵起一個名字叫做fk_cpu_model;第二行是說將本表的cpumodel字段設置為外鍵;第三行是說這個外鍵受到的約束來自于parts表的model字段。

這樣,我們的外鍵就搞好了!如果我們試著CREATE一臺pc,它所使用的CPU的型號是parts 表中不存在的,那么MySQL會禁止這臺PC被CREATE出來。

級聯操作

考慮以下這種情況:

技術人員發現,一個月之前輸入到parts表中的某個系列的cpu(可能有很多款)的型號全都輸錯了一個字母,現在需要改正。我們希望的是,當parts表中那些 Referenced Column 有所變化時,相應表中的 Referencing Column 也能自動更正。

可以在定義外鍵的時候,在最后加入這樣的關鍵字:ON UPDATE CASCADE;即在主表更新時,子表(們)產生連鎖更新動作,似乎有些人喜歡把這個叫“級聯”操作。

如果把這語句完整的寫出來,就是:

ALTER TABLE pc ADD CONSTRAINT fk_cpu_model  FOREIGN KEY (cpumodel)  REFERENCES parts(model) ON UPDATE CASCADE;

除了CASCADE外,還有RESTRICT(禁止主表變更)、SET NULL

補充說明:

如果需要在主表刪除記錄時,當子表有對應記錄則不允許刪除,就加上 ON delete restrict 。完整案例如下:

兩個表,國家和城市,城市中的country_id是外鍵。

 

  1. Create table country(  
  2. country_id smallint unsigned not null auto_increment,  
  3. country varchar(50) not null,  
  4. last_update timestamp not null,  
  5. primary key(country_id)  
  6. )engine=innoDB default charset=utf8;  
  7. Create table city(  
  8. city_id smallint unsigned not null auto_increment,  
  9. city varchar(50) not null,  
  10. country_id smallint unsigned not null,  
  11. last_update timestamp not null default current_timestamp on update curren_timestamp,  
  12. Primary key(city_id),  
  13. key idx_fk_country_id (country_id),  
  14. constraint fk_city_country Foreign Key(country_id) References country(country_id) on DELETE restrict ON update cascade  
  15. )engine=innoDB default charset=utf8

 

刪除外鍵

刪除外鍵定義

定義外鍵的時候articles.member_id外鍵比articles.category_id子句多了一個CONSTRAINT fk_member ?

這個fk_member就是用來刪除外鍵定義用的,如下所示:

  1. mysql> ALTER TABLE articles DROP FOREIGN KEY fk_member;  
  2. Query OK, 1 row affected (0.25 sec)  
  3. Records: 1 Duplicates: 0 Warnings: 0 

 

這樣articles.member_id外鍵定義就被刪除了,但是如果定義時沒有指定CONSTRAINT fk_symbol (即外鍵符號)時該怎么刪除呢?別急,沒有指定時,MySQL會自己創建一個,可以通過以下命令查看:

  1. mysql> SHOW CREATE TABLE articles;  
  2. +———-+————————————+  
  3. | Table    | Create Table                       |  
  4. +———-+————————————+  
  5. | articles | CREATE TABLE `articles` (  
  6. `article_id` int(11) unsigned NOT NULL auto_increment,  
  7. `category_id` tinyint(3) unsigned NOT NULL,  
  8. `member_id` int(11) unsigned NOT NULL,  
  9. `title` varchar(255) NOT NULL,  
  10. PRIMARY KEY (`article_id`),  
  11. KEY `category_id` (`category_id`),  
  12. KEY `member_id` (`member_id`),  
  13. CONSTRAINT `articles_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`)  
  14. ENGINE=InnoDB DEFAULT CHARSET=latin1          |  
  15. +———-+————————————+  
  16. 1 row in set (0.01 sec) 

 

可以看出articles.category_id的外鍵符號為articles_ibfk_1,因為就可以執行以下命令刪除外鍵定義:

  1. mysql> ALTER TABLE articles DROP FOREIGN KEY articles_ibfk_1;  
  2. Query OK, 1 row affected (0.66 sec)  
  3. Records: 1 Duplicates: 0 Warnings: 0 

 

關于MySQL數據庫外鍵的相關知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!

【編輯推薦】

  1. MySQL數據庫時間類型的物理存儲
  2. 如何檢查MySQL數據庫的主從延時?
  3. MySQL數據庫創建線程的相關操作詳解
  4. MySQL數據庫mysqlcheck的使用方法詳解
  5. MySQL數據庫丟失root密碼后該如何補救?
責任編輯:趙鵬 來源: CSDN博客
相關推薦

2019-11-05 08:20:13

MySQL數據庫外鍵

2010-01-05 09:24:42

MySQL外鍵約束

2011-08-18 17:05:16

Oracle數據庫的服

2010-10-09 09:55:41

MySQL外鍵

2010-10-09 10:29:29

MySQL外鍵

2011-08-01 16:31:29

MySQL數據庫外鍵

2011-08-03 17:43:53

MySQL數據庫外鍵約束

2010-11-22 09:59:32

MySQL外鍵設置

2010-05-17 16:10:39

MySQL數據庫

2011-08-30 13:40:28

MySQL線程

2021-07-01 06:19:46

Redis數據庫API

2021-02-06 23:03:58

SQLServer數據庫變量

2011-09-02 10:37:15

Oraclesqlload用法

2011-08-30 14:25:06

QT數據庫

2010-05-11 19:11:13

MySQL外鍵

2021-03-19 07:12:23

SQL Server數據庫數據庫收縮

2021-03-24 14:50:00

SQLServer數據庫字符串

2020-06-09 09:19:14

數據庫

2011-08-04 15:20:52

SQL Server數據庫鏡像

2010-03-01 16:31:59

Linux SNMP
點贊
收藏

51CTO技術棧公眾號

色久视频在线播放| 欧洲美熟女乱又伦| h视频在线免费观看| 一级久久久久久| 精品久久亚洲| 亚洲图片欧美色图| 久久久久久九九九九| 黄色一级在线视频| 国产精品无码久久久久成人app| 亚洲人挤奶视频| 欧美性生活大片视频| 在线视频福利一区| 人妻va精品va欧美va| 亚洲欧美日本国产专区一区| 中文字幕亚洲第一| 麻豆tv在线观看| 日韩在线影院| 亚洲激情图片一区| 秋霞久久久久久一区二区| 亚洲影视一区二区| 日韩一级精品| 久久精品99久久香蕉国产色戒| 乱码一区二区三区| 国产成人精选| 五月婷婷色综合| 亚洲精品中字| 婷婷在线观看视频| 国产在线一区二区综合免费视频| 97av视频在线| 农村妇女精品一区二区| 欧美人与牛zoz0性行为| 日韩三级视频在线观看| aⅴ在线免费观看| 天天在线视频色| 国产成人啪午夜精品网站男同| 青青久久av北条麻妃黑人| 538精品视频| 黄色欧美在线| 91.com视频| 成人小视频在线看| а_天堂中文在线| 中文字幕一区在线| 欧美激情视频一区二区三区| 朝桐光av在线一区二区三区| 日本强好片久久久久久aaa| 国模视频一区二区三区| 欧美日韩另类在线| 亚洲一区二区三区sesese| 久久亚洲天堂网| 国产精品chinese| 日韩在线视频二区| 亚洲自拍偷拍图| 日韩欧美影院| 精品盗摄一区二区三区| 久久久久亚洲av无码麻豆| 国产综合色激情| 欧美日韩国产页| 日韩小视频网站| 成人黄视频在线观看| 亚洲国产电影在线观看| 欧美福利精品| 日韩大片b站免费观看直播| 成人免费毛片嘿嘿连载视频| 99电影在线观看| 精品人妻伦一二三区久久| 久久99精品久久久久久动态图| 午夜免费日韩视频| 久久婷婷综合国产| 黄色日韩在线| 久久免费成人精品视频| 久久久久无码国产精品不卡| 999av视频| 亚洲一区电影| 91麻豆精品国产91久久久更新时间| 激情五月开心婷婷| 亚洲人成午夜免电影费观看| 午夜久久久久久久久久一区二区| 99热久久这里只有精品| 成人超碰在线| 国产成人精品一区二三区在线观看 | 国产精品免费观看久久| 国产精品一级伦理| 99久久婷婷国产综合精品| 高清视频在线观看一区| 亚洲风情第一页| 成人免费视频一区二区| 久久精品日产第一区二区三区精品版| 视频国产在线观看| 久久精品欧美日韩精品| 亚洲韩国在线| jizzjizz亚洲| 亚洲午夜精品在线| 国产成人无码a区在线观看视频| 国产自产自拍视频在线观看| 亚洲欧美日韩国产中文在线| 日韩精品一区二区免费| 欧美aa在线| 亚洲成人福利片| 国产av天堂无码一区二区三区| 中文在线资源| 欧美三级中文字幕| 天天操精品视频| 国产在线播放精品| 国产亚洲xxx| 亚洲欧美精品aaaaaa片| 在线观看一区| 国产成人a亚洲精品| 国产毛片一区二区三区va在线 | 成人av一区二区三区在线观看 | 欧美日韩精品一区二区三区四区| 亚洲一二在线观看| 欧美人妻一区二区三区| 国产精品麻豆久久| 久久久久国产精品免费| 好吊操这里只有精品| 野花国产精品入口| 国产美女久久精品香蕉69| 精品人妻少妇嫩草av无码专区 | 婷婷开心激情综合| www.日本xxxx| 一区二区三区视频播放| 国产一区二区动漫| 亚洲精品午夜久久久久久久| 日日嗨av一区二区三区四区| 99riav久久精品riav| 亚洲精品一区中文字幕乱码| 久久综合一区二区三区| 黄色片免费在线| 亚洲另类中文字| 无码人妻丰满熟妇区五十路百度| 国产精品一级在线观看| 精品国产乱码久久| 日本高清一二三区| 日本欧美在线观看| 国产偷久久久精品专区| 草莓福利社区在线| 欧美视频一区二| 波多野结衣一本| 狠狠88综合久久久久综合网| 国产欧美精品一区二区三区介绍| 午夜视频免费在线| 夜夜夜精品看看| 亚洲精品mv在线观看| 狠狠做深爱婷婷综合一区| 97久久精品人搡人人玩 | 老司机精品福利视频| 欧美另类z0zxhd电影| 在线精品视频播放| 中文字幕一区二区三区在线视频| 欧美顶级少妇做爰| 右手影院亚洲欧美| 亚洲激情专区| 成人免费高清完整版在线观看| 手机福利在线| 精品成人在线视频| 国产情侣久久久久aⅴ免费| 亚洲九九在线| 亚洲va电影大全| 在线播放毛片| 欧美午夜精品免费| 国产三级在线观看完整版| 另类图片国产| 欧美日韩国产综合视频在线| 日本а中文在线天堂| 亚洲高清久久网| 日韩精品乱码久久久久久| 成人性色生活片| 精品少妇人欧美激情在线观看| 亚洲视频精选| 久久久亚洲国产| 无码h黄肉3d动漫在线观看| 亚洲成人777| 男人添女人荫蒂国产| 国产综合色产| 97se在线视频| 91超碰国产在线| 亚洲美女动态图120秒| 成人av网站在线播放| 国产日产亚洲精品系列| 色一情一乱一伦一区二区三区日本| 国产永久精品大片wwwapp| 国产精品精品视频一区二区三区| 第九色区av在线| 欧美久久久久中文字幕| 青青草精品在线视频| 国产99久久精品| 欧美不卡在线播放| 国产91一区| 国产日韩专区在线| 少妇视频在线| 日韩av最新在线观看| 久草手机在线视频| 欧美国产精品v| 涩多多在线观看| 国产中文av在线| 99av国产精品欲麻豆| 久久涩涩网站| 另类专区欧美蜜桃臀第一页| 中文字幕在线观看亚洲| 一级做a爱片久久毛片| 亚洲欧美日韩中文播放| 日韩成人av影院| 狠狠入ady亚洲精品经典电影| 欧美日韩成人一区二区三区| 国产精品福利电影| 18欧美亚洲精品| 亚洲av无码专区在线播放中文| 久久动漫亚洲| 中文一区一区三区免费| 超碰地址久久| 国产成人拍精品视频午夜网站| av网站在线看| 一区二区欧美日韩视频| 精品免费久久久| 欧洲精品中文字幕| 精品在线视频观看| 欧美国产精品一区二区三区| 国产一卡二卡三卡四卡| 日韩二区三区在线观看| 日本一本中文字幕| 国产精品88久久久久久| 久久婷婷开心| 久久免费福利| 国产精品高清免费在线观看| 毛片av在线| 亚洲国产小视频| 国产裸体无遮挡| 色88888久久久久久影院野外| 青青草免费av| 亚洲欧洲国产专区| 国产精品无码午夜福利| 国产suv精品一区二区6| 天堂社区在线视频| 欧美日韩国产在线一区| 奇米视频888战线精品播放| avtt综合网| 91超碰在线免费观看| 岛国一区二区| 国产精品第3页| 中文字幕乱码中文乱码51精品| 美女少妇精品视频| 91精品专区| 亚洲欧洲第一视频| 天堂成人在线| 亚洲第一天堂av| 亚洲精品中文字幕成人片| 在线成人av网站| 在线观看国产小视频| 欧美丝袜美女中出在线| 日韩成人在线免费视频| 亚洲日本电影在线| 国产精品夜夜夜爽阿娇| 久久精品日韩一区二区三区| 精品人妻二区中文字幕| 国产伦精品一区二区三区视频青涩 | 黄色免费看视频| 国产乱码精品一区二区三区忘忧草 | 久久午夜夜伦鲁鲁一区二区| 欧美日韩精选| 中文字幕色呦呦| 国产精品久久久久一区二区三区厕所| 日本一区不卡| 欧美日韩一区二区综合| 日韩免费av电影| 人人狠狠综合久久亚洲婷| 亚洲欧美日韩国产yyy| 欧美日韩中文字幕一区二区三区| 国产欧美亚洲日本| 岛国成人av| 精品999在线观看| 性欧美lx╳lx╳| 欧美日韩在线一区二区三区| 国产一区二区电影在线观看| 日韩影院一区| 欧美肥老太太性生活| 一级全黄肉体裸体全过程| 亚洲成人免费| 亚洲 欧美 综合 另类 中字| 99re国产精品| www.日日操| 精品一区二区av| 男人的天堂免费| 91论坛在线播放| 国产精品www爽爽爽| 亚洲日本在线看| 日韩av综合在线| 欧美色图在线观看| 国产农村妇女毛片精品久久| 精品毛片乱码1区2区3区| 日韩美女一级视频| 一区二区三区视频在线| 久草免费在线观看| 欧美激情精品在线| 亚洲精品一区| 96pao国产成视频永久免费| 国产精品qvod| 日韩性感在线| 最新精品国产| 日本www在线播放| 久久国产日韩欧美精品| 性欧美18—19sex性高清| 国产欧美一区二区三区鸳鸯浴 | 欧美高清在线一区| 欧产日产国产v| 色婷婷av一区二区三区gif| 91亚洲视频在线观看| 精品国产乱码久久久久久蜜臀| 久久久久国产精品嫩草影院| 久久视频在线看| 久久人体大尺度| 亚洲综合成人婷婷小说| 精品中文一区| 日本大片免费看| 日本中文字幕一区| 性高潮免费视频| 久久久久88色偷偷免费| 校园春色 亚洲| 在线观看成人小视频| 亚洲第一页视频| 日韩专区在线播放| 中文在线аv在线| 99九九视频| 视频在线不卡免费观看| 成年人视频观看| 国产精品一区三区| 日本综合在线观看| 狠狠躁夜夜躁人人爽超碰91| 国产ts变态重口人妖hd| 中文字幕久久久| 国产高清不卡| 国产精品伊人日日| 欧美aⅴ99久久黑人专区| 色片在线免费观看| 久久综合久久综合亚洲| 亚洲国产精品午夜在线观看| 日韩一区二区在线观看| 91高清在线视频| 日韩av电影在线网| 美国成人xxx| 特级西西444| 日韩成人精品在线观看| 丰满少妇一区二区三区| 亚洲国产乱码最新视频 | 污污免费在线观看| 一区二区三区成人在线视频| 亚洲图片在线播放| 亚洲一区www| 成年美女黄网站色大片不卡| 国产亚洲情侣一区二区无| 国产综合亚洲精品一区二| 久久精品一二三四| 亚洲男人的天堂一区二区| 中文字幕在线日亚洲9| 国产精品久久久国产盗摄| 日韩丝袜情趣美女图片| 成人在线观看亚洲| 亚洲最大福利视频| 亚洲午夜视频| 国产精品手机在线观看| 精品成人av一区| 国产尤物视频在线| 国产女人精品视频| 欧美激情1区2区3区| 亚洲精品乱码久久久久久蜜桃图片| 精品久久久香蕉免费精品视频| 激情福利在线| 91精品久久久久久久久久入口| 久久精品国内一区二区三区水蜜桃| 国产探花一区二区三区| 精品久久久久久中文字幕大豆网| 国产永久免费高清在线观看| 国产精品爽黄69| 国产精品久久| 在线观看福利片| 制服.丝袜.亚洲.中文.综合| 毛片大全在线观看| 日本一区二区三区四区高清视频 | 风韵丰满熟妇啪啪区老熟熟女| 午夜精品爽啪视频| porn亚洲| 成人看片视频| 日韩成人精品在线观看| 青青草在线观看视频| 亚洲欧美激情另类校园| 粉嫩av国产一区二区三区| 日韩网站在线免费观看| 国产亚洲成aⅴ人片在线观看| 国产成人久久精品77777综合| 26uuu国产精品视频| 国产精品x453.com| 疯狂揉花蒂控制高潮h| 欧美日韩精品一区二区天天拍小说| 欧美人动性xxxxz0oz| 日产精品高清视频免费| 国产成人免费xxxxxxxx| 波多野结衣小视频| 欧美精品久久久久久久久久| 成人系列视频| 亚洲图片综合网| 欧美一级免费大片|