欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

restrict的中文意思

restrict的中文意思?

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

外碼所指定的字段取值受限制,可以取兩種值:

所參照主碼中出現(xiàn)過(guò)的值;

可以取空值。

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

下面以一個(gè)具體例子說(shuō)明:

設(shè)有兩張表:student和class,表定義語(yǔ)句為:

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

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

java  set取值,restrict的中文意思