色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql外鍵三種模式

方一強2年前9瀏覽0評論

MySQL中的外鍵是非常重要的概念,一般用于約束表之間的關系。在MySQL中,外鍵有三種模式,分別是:

1. CASCADE:當父表中的數據被刪除或更新時,如果子表中存在對應的數據,那么子表中的數據會跟著被刪除或更新。例如:
CREATE TABLE parent (
id INT PRIMARY KEY,
name VARCHAR(20)
);
CREATE TABLE child (
id INT PRIMARY KEY,
name VARCHAR(20),
parent_id INT,
CONSTRAINT fk_parent_id FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE
);
在以上代碼中,當我們刪除parent表中的某一行數據時,如果child表中有對應的parent_id,則child表中的數據也會被刪除。
2. SET NULL:當父表中的數據被刪除或更新時,如果子表中存在對應的數據,那么子表中的對應列的值會被設置為NULL。例如:
CREATE TABLE parent (
id INT PRIMARY KEY,
name VARCHAR(20)
);
CREATE TABLE child (
id INT PRIMARY KEY,
name VARCHAR(20),
parent_id INT,
CONSTRAINT fk_parent_id FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE SET NULL
);
在以上代碼中,當我們刪除parent表中的某一行數據時,如果child表中有對應的parent_id,則child表中的parent_id列的值會被設置為NULL。
3. NO ACTION:當父表中的數據被刪除或更新時,如果子表中存在對應的數據,則MySQL將不允許該行數據的刪除或更新操作。例如:
CREATE TABLE parent (
id INT PRIMARY KEY,
name VARCHAR(20)
);
CREATE TABLE child (
id INT PRIMARY KEY,
name VARCHAR(20),
parent_id INT,
CONSTRAINT fk_parent_id FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE NO ACTION
);
在以上代碼中,當我們想要刪除parent表中的某一行數據時,如果child表中有對應的parent_id,則MySQL將不允許該行數據的刪除操作。