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

mysql建表的時(shí)候添加外鍵

在MySQL中,建表的時(shí)候有時(shí)需要添加外鍵,以保持不同表之間的關(guān)系一致性,下面我們將介紹如何在建表時(shí)添加外鍵。

首先,我們需要在一個(gè)表中制定一個(gè)或多個(gè)列,這些列將被用于關(guān)聯(lián)另一個(gè)表中的列。外鍵列必須具有與參考表中列的數(shù)據(jù)類型和長度相同的屬性。此外,外鍵列必須在本表中定義為索引列。

CREATE TABLE table1 (
id INT PRIMARY KEY,
name VARCHAR(20),
age INT,
country VARCHAR(20)
);
CREATE TABLE table2 (
id INT PRIMARY KEY,
title VARCHAR(20),
author VARCHAR(20),
table1_id INT,
FOREIGN KEY (table1_id) REFERENCES table1(id)
);

在上面的示例中,我們創(chuàng)建了兩個(gè)表,table1和table2,其中table2的table1_id列是table1表的id列的外鍵。

在創(chuàng)建表時(shí)使用FOREIGN KEY關(guān)鍵字以及REFERENCES關(guān)鍵字定義參考表和參考列。在本例中,table2的table1_id列必須參考table1的id列。

當(dāng)添加外鍵時(shí),您可以指定添加外鍵約束的名字。

CREATE TABLE table2 (
id INT PRIMARY KEY,
title VARCHAR(20),
author VARCHAR(20),
table1_id INT,
CONSTRAINT table2_fk FOREIGN KEY (table1_id) REFERENCES table1(id)
);

外鍵名必須在數(shù)據(jù)庫中是唯一的。

在MySQL中,外鍵約束默認(rèn)情況下是啟用的,也就是說,您不能插入不在參考表中的值。

為了插入不包括在參考表中的數(shù)據(jù),您可以使用CASCADE選項(xiàng),該選項(xiàng)將刪除包括外鍵約束的所有行。

CREATE TABLE table2 (
id INT PRIMARY KEY,
title VARCHAR(20),
author VARCHAR(20),
table1_id INT,
CONSTRAINT table2_fk FOREIGN KEY (table1_id) REFERENCES table1(id) ON DELETE CASCADE
);

上面的代碼將在刪除包含外鍵值的行時(shí),同時(shí)刪除參考表中相應(yīng)的行。

以上就是MySQL建表時(shí)添加外鍵的詳細(xì)介紹,希望對你有用!