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

mysql+外鍵+del+記錄

錢斌斌1年前8瀏覽0評論

MySQL是一個(gè)廣泛應(yīng)用在Web應(yīng)用程序開發(fā)中的開源關(guān)系數(shù)據(jù)庫管理系統(tǒng)。MySQL數(shù)據(jù)庫支持關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫。

在關(guān)系型數(shù)據(jù)庫中,外鍵是非常重要的一部分,能夠讓我們在不同的表格之間建立聯(lián)系。外鍵是一種約束,它指定了一個(gè)表中的特定字段必須參考主表中的一個(gè)特定字段。

當(dāng)試圖刪除主表中存在被外鍵引用的記錄時(shí),會出現(xiàn)刪除錯(cuò)誤。這是因?yàn)樵趧h除主表中的記錄之前,必須先刪除引用該記錄的所有外鍵記錄。這就是外鍵的作用。

CREATE TABLE Parent(
id INT PRIMARY KEY,
name VARCHAR(100)
);
CREATE TABLE Child(
id INT PRIMARY KEY,
name VARCHAR(100),
parent_id INT,
FOREIGN KEY(parent_id) REFERENCES Parent(id)
);
INSERT INTO Parent(id,name) VALUES (1,'Parent1'),(2,'Parent2');
INSERT INTO Child(id,name,parent_id) VALUES (1,'Child1',1),(2,'Child2',2);
DELETE FROM Parent WHERE id=1; //將會出現(xiàn)錯(cuò)誤
DELETE FROM Child WHERE parent_id=1; //先刪除外鍵記錄
DELETE FROM Parent WHERE id=1; //現(xiàn)在可以刪除主表記錄

在以上代碼中,我們創(chuàng)建了一個(gè)父表和一個(gè)子表,并在子表中添加了一個(gè)外鍵約束。當(dāng)我們嘗試刪除父表中的主鍵時(shí),我們將看到由于外鍵約束而導(dǎo)致的錯(cuò)誤。但是,當(dāng)我們先刪除子表中的所有外鍵記錄后,再刪除主表記錄,就可以成功刪除。