日本有码中文字幕视频,在线能看三级网站,日本妇乱子伦视频免费的,中文字幕一页在线

      restrict和restrain和constrain的區(qū)別

      時(shí)間:2022-09-06 18:02:35來源:
      導(dǎo)讀您好,現(xiàn)在漢格來為大家解答以上的問題。restrict和restrain和constrain的區(qū)別相信很多小伙伴還不知道,現(xiàn)在讓我們一起來看看吧!1、restrict...

      您好,現(xiàn)在漢格來為大家解答以上的問題。restrict和restrain和constrain的區(qū)別相信很多小伙伴還不知道,現(xiàn)在讓我們一起來看看吧!

      1、restrict和cascade都是在外碼定義時(shí)指定的關(guān)鍵字。

      2、外碼所指定的字段取值受限制,可以取兩種值:所參照主碼中出現(xiàn)過的值;可以取空值。

      3、外碼所指定的字段中數(shù)據(jù)的增刪改是受到外碼約束的限制的,在數(shù)據(jù)增刪改時(shí)會(huì)檢查是否滿足外碼約束條件,當(dāng)不滿足外碼的條件時(shí),所做的處理與定義外碼時(shí)指定的restrict關(guān)鍵字或者cascade關(guān)鍵字有關(guān)。

      4、下面以一個(gè)具體例子說明:設(shè)有兩張表:student和class,表定義語句為:create table class(cno int primary key, cname varchar(20))create table student(sno int primary key, sname varchar(10), cno int, foreign key(cno) references class(cno) on delete restrict)第一張表class中,cno是主碼,第二張表student中,sno是主碼,cno是外碼,外碼的取值必須在class的主碼cno中出現(xiàn)過,或者取空值。

      5、注意,在外碼定義時(shí)指定了restrict關(guān)鍵字,此時(shí),如果從class表中刪除一條數(shù)據(jù)(即刪除一個(gè)班級(jí)),student表中恰好有該班級(jí)的學(xué)生,則會(huì)報(bào)錯(cuò),不允許刪除。

      6、如果在student表的外碼定義時(shí)指定的是cascade,即create table student(sno int primary key, sname varchar(10), cno int, foreign key(cno) references class(cno) on delete cascade)則表示級(jí)聯(lián)刪除,刪除class表中的一條數(shù)據(jù)時(shí),會(huì)把student表中對(duì)應(yīng)的數(shù)據(jù)一起刪除掉。

      7、此外,在外碼定義時(shí)還可以指定on delete set null,表示刪除class表中的一條數(shù)據(jù)時(shí),如果student表中有對(duì)應(yīng)的數(shù)據(jù),則把這些對(duì)應(yīng)的數(shù)據(jù)的cno設(shè)置為空值NULL。

      本文就為大家分享到這里,希望小伙伴們會(huì)喜歡。

      標(biāo)簽:
      最新文章