日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡單談一談MySQL數(shù)據(jù)庫外鍵約束的一些知識

本文我們主要介紹一些MySQL數(shù)據(jù)庫外鍵約束的知識,接下來就讓我們一起來了解一下吧。

成都網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、成都網(wǎng)站建設、微信開發(fā)、小程序開發(fā)、集團成都企業(yè)網(wǎng)站建設等服務項目。核心團隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務眾多知名企業(yè)客戶;涵蓋的客戶類型包括:水泥攪拌車等眾多領域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致稱譽!

外鍵約束須滿足以下條件:

父子表都為innodb,不是臨時表。

在子表上,必須存在一個索引,外鍵列是索引列的全部或部分,但必須是開頭部分,并且順序一致; 從mysql4.1.2開始,如果不存在索引,會自動創(chuàng)建外鍵上的索引; 加速約束檢查/避免全表掃描。

在父表上,必須存在一個索引,被參照鍵是索引列的全部或部分,但必須是開頭部分,并且順序一致; 加速約束檢查/避免全表掃描。

不允許在外鍵前綴或后綴上索引; 外鍵不能包括text/blob列。

如果指定約束標識符symbol, 那么必須數(shù)據(jù)庫范圍***; 不指定時,系統(tǒng)會自動產(chǎn)生。

父子表的相應列必須有相似的內(nèi)部數(shù)據(jù)類型, 以便進行比較時不必進和類型轉(zhuǎn)換。

對于數(shù)字類型,類型長度與符號必須相同。

對于字符類型, 長度不必相同。

如果創(chuàng)建一個on delete set null或on update set null約束,子表的列必須不能為not null。

從mysql3.23.50開始,如果外鍵或候選鍵(被引用鍵)列上有null值,mysql 將不進行check。

外鍵約束對子表的含義:

如果在父表中找不到候選鍵,則不允許在子表上進行insert/update。

外鍵約束對父表的含義:

在父表上進行update/delete以更新或刪除在子表中有一條或多條對應匹配行的候選鍵時,父表的行為取決于:在定義子表的外鍵時指定的on update/on delete子句, InnoDB支持5種方式, 分列如下:

cascade方式

在父表上update/delete記錄時,同步update/delete掉子表的匹配記錄;

On delete cascade從mysql3.23.50開始可用; on update cascade從mysql4.0.8開始可用。

set null方式

在父表上update/delete記錄時,將子表上匹配記錄的列設為null;

要注意子表的外鍵列不能為not null;

On delete set null從mysql3.23.50開始可用; on update set null從mysql4.0.8開始可用。

No action方式

如果子表中有匹配的記錄,則不允許對父表對應候選鍵進行update/delete操作;

這個是ANSI SQL-92標準,從mysql4.0.8開始支持。

Restrict方式

同no action, 都是立即檢查外鍵約束;

Set default方式

解析器認識這個action,但Innodb不能識別。

注意:trigger不會受外鍵cascade行為的影,,即不會解發(fā)trigger。

關于MySQL數(shù)據(jù)庫外鍵約束的知識就介紹到這里了,希望本次的介紹能夠給您帶來一些收獲,謝謝!


當前題目:簡單談一談MySQL數(shù)據(jù)庫外鍵約束的一些知識
網(wǎng)頁地址:http://m.5511xx.com/article/cdceepo.html