本文主要介紹mysql外鍵關(guān)聯(lián)刪除(數(shù)據(jù)庫(kù)外鍵級(jí)聯(lián)刪除),下面一起看看mysql外鍵關(guān)聯(lián)刪除(數(shù)據(jù)庫(kù)外鍵級(jí)聯(lián)刪除)相關(guān)資訊。
文中的例子展示了mysql如何利用外鍵實(shí)現(xiàn)級(jí)聯(lián)刪除和更新:mysql innodb存儲(chǔ)引擎只支持外鍵。創(chuàng)建外鍵時(shí),父表必須有相應(yīng)的索引。當(dāng)在子表中自動(dòng)創(chuàng)建相應(yīng)的索引并創(chuàng)建外鍵時(shí)。創(chuàng)建索引時(shí),可以在子表中指定相應(yīng)的操作。當(dāng)你刪除或更新父表時(shí),包括限制、無動(dòng)作、空集和級(jí)聯(lián)、限制和無動(dòng)作,意味著子表是記錄的父表,不能更新關(guān)聯(lián);級(jí)聯(lián)是當(dāng)父表的記錄集被更新、刪除、更新或刪除,對(duì)應(yīng)的子表為空時(shí);在父表中,當(dāng)表被更新或刪除時(shí),該字段被設(shè)置為null。因?yàn)橹挥衖nnodb引擎允許使用外鍵,所以數(shù)據(jù)表必須使用innodb引擎。我用的版本是mysql5.1版,流程如下:創(chuàng)建數(shù)據(jù)庫(kù):創(chuàng)建數(shù)據(jù)庫(kù)測(cè)試;創(chuàng)建一個(gè)表,其中第一個(gè)表的id是第二個(gè)表的外鍵(用戶信息):create table (user) int(4)不為空,` sex 枚舉(f,true)默認(rèn)為空,主鍵(id) innodb engine =默認(rèn)字符集latin1);創(chuàng)建表(` userinfo ` tin ` int(4)不為空auto_increment,` userid` int (4)不為空,` information` varchar(20)默認(rèn)為空,主鍵(sn),鍵us測(cè)試。插入 用戶 (id, 性與健康。;)值(1,f),(2 是的 )、(3,f);插入 用戶信息 ( 錫 , 用戶 , 信息與廣告。;)值(1,1 ;2005054dsf),(2,1, fdsfewfdsfds),(3,1, gdsgergergrtre),(4,2, et34t。vbcbfdgr),(8 ,3 , 45r2343234were),(9,3 ;, wfyhtyjtyjyjy);讓 讓我們來看看當(dāng)前數(shù)據(jù)表的狀態(tài):顯示表;-| tables _ in _ test |-user | | userinfo |-2行。| id | sex ||| 1 | f ||| 2 | m |||| 3 | f |用戶信息表中的3行(0秒):mysql從用戶信息中選擇*;- sn用戶名信息|||| | -。1 | gdsgergergrtre | | 4 | 2 | et34t 5435435 werwe | | 5 | 2 | 435 rtgtrhfghfg | | 6 | 2 | ret 345 tr 4345 | | 7 | 3 | fgbdfvbcbfdgr | | 8 | 3 | 45r 2343234 w測(cè)試的級(jí)聯(lián)。我們將刪除user表的id的數(shù)據(jù)記錄,userinf表中與該用戶id相關(guān)的子記錄將被自動(dòng)刪除。刪除操作執(zhí)行成功!mysql刪除用戶id,` ` `= 2;查詢ok,第1行受影響(0.03秒)。檢查用戶表中沒有id 2的數(shù)據(jù)記錄!select * from users| id |性別||| 1 | f ||| 3 | f | 2行(0秒)看3的數(shù)據(jù)記錄,沒有用戶名2用戶信息表,對(duì)應(yīng)數(shù)據(jù)自動(dòng)刪除!mysql select * from用戶信息;-序列號(hào)用戶名信息|| |--| 1 | 1 | 2005 05 4 dsf | | 2 | 1 | fdsfewfdsfds | | 3 | 1 | gdsgergergrtre | | 7 | 3 | fgbdfvbcbfdgr | | 8 | 3 | 45r 2343234 were | | | 9 | 3 | wfyhtyjtyjyjy |-更新6行(0秒)的操作是類似的,因?yàn)槲覀兌x了刪除和更改用戶表中原始id的數(shù)據(jù)記錄到id 1到id 4的操作;查詢正常,1行受影響(0.03秒)匹配行:1更改:1警告:0現(xiàn)在讓 讓我們看看這兩個(gè)表的數(shù)據(jù)是否有變化。select * from users| id | sex ||| 3 | f ||| 4 | f | 2行(0秒)mysql select * from用戶信息;- sn用戶名信息| | | | | | | | | | | | | gdsgergergrtre | | 7 | 3 | fgbdfvbcbfdgr | | 8 | 3 | 45r 2343234 where | | | 9 | 3 | wfyhtyjtyjyjy |-。??!這也使得通過使用外鍵同時(shí)刪除和更新多個(gè)相關(guān)表成為可能,從而確保數(shù)據(jù)一致性。更多對(duì)mysql相關(guān)內(nèi)容感興趣的讀者可以看專用站:希望這篇文章能幫助你了解mysql數(shù)據(jù)庫(kù)插裝。
了解更多mysql外鍵關(guān)聯(lián)刪除(數(shù)據(jù)庫(kù)外鍵級(jí)聯(lián)刪除)相關(guān)內(nèi)容請(qǐng)關(guān)注本站點(diǎn)。