91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

MySQL外鍵約束怎樣選擇

小樊
82
2024-11-01 06:34:46
欄目: 云計算

MySQL中的外鍵約束用于確保數據在兩個表之間的引用完整性。當你在創建外鍵約束時,可以選擇以下幾種不同的約束選項:

  1. ON DELETE CASCADE: 當被引用的表(子表)中的記錄被刪除時,同時刪除引用該記錄的表(父表)中的相關記錄。
CREATE TABLE parent (
    id INT PRIMARY KEY,
    name VARCHAR(255)
);

CREATE TABLE child (
    id INT PRIMARY KEY,
    parent_id INT,
    name VARCHAR(255),
    FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE
);
  1. ON DELETE SET NULL: 當被引用的表(子表)中的記錄被刪除時,將引用該記錄的表(父表)中的相關外鍵列設置為NULL。
CREATE TABLE parent (
    id INT PRIMARY KEY,
    name VARCHAR(255)
);

CREATE TABLE child (
    id INT PRIMARY KEY,
    parent_id INT,
    name VARCHAR(255),
    FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE SET NULL
);
  1. ON DELETE NO ACTION: 當被引用的表(子表)中的記錄被刪除時,不允許刪除引用該記錄的表(父表)中的相關記錄。這將引發一個錯誤,除非你使用了ON DELETE SET NULLON DELETE CASCADE
CREATE TABLE parent (
    id INT PRIMARY KEY,
    name VARCHAR(255)
);

CREATE TABLE child (
    id INT PRIMARY KEY,
    parent_id INT,
    name VARCHAR(255),
    FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE NO ACTION
);
  1. ON UPDATE CASCADE: 當引用表(父表)中的記錄被更新時,同時更新被引用表(子表)中的相關記錄。
CREATE TABLE parent (
    id INT PRIMARY KEY,
    name VARCHAR(255)
);

CREATE TABLE child (
    id INT PRIMARY KEY,
    parent_id INT,
    name VARCHAR(255),
    FOREIGN KEY (parent_id) REFERENCES parent(id) ON UPDATE CASCADE
);
  1. ON UPDATE SET NULL: 當引用表(父表)中的記錄被更新時,將引用該記錄的表(子表)中的相關外鍵列設置為NULL。
CREATE TABLE parent (
    id INT PRIMARY KEY,
    name VARCHAR(255)
);

CREATE TABLE child (
    id INT PRIMARY KEY,
    parent_id INT,
    name VARCHAR(255),
    FOREIGN KEY (parent_id) REFERENCES parent(id) ON UPDATE SET NULL
);
  1. ON UPDATE NO ACTION: 當引用表(父表)中的記錄被更新時,不允許更新被引用表(子表)中的相關記錄。這將引發一個錯誤,除非你使用了ON UPDATE CASCADEON UPDATE SET NULL
CREATE TABLE parent (
    id INT PRIMARY KEY,
    name VARCHAR(255)
);

CREATE TABLE child (
    id INT PRIMARY KEY,
    parent_id INT,
    name VARCHAR(255),
    FOREIGN KEY (parent_id) REFERENCES parent(id) ON UPDATE NO ACTION
);

在選擇外鍵約束時,需要根據你的業務需求和數據完整性要求來決定使用哪種約束。例如,如果你希望在刪除父表記錄時同時刪除子表中的相關記錄,可以使用ON DELETE CASCADE。如果你希望在更新父表記錄時將子表中的相關外鍵列設置為NULL,可以使用ON UPDATE SET NULL

0
高平市| 神池县| 桃园市| 南雄市| 福建省| 施甸县| 永平县| 贵阳市| 武义县| 富裕县| 十堰市| 裕民县| 长丰县| 新邵县| 尼木县| 富源县| 紫云| 玛纳斯县| 瑞昌市| 聂荣县| 惠东县| 镇远县| 翁源县| 汕尾市| 尤溪县| 东乌珠穆沁旗| 虹口区| 汪清县| 涡阳县| 花莲县| 拉孜县| 兴城市| 米脂县| 上栗县| 谢通门县| 罗平县| 大宁县| 永修县| 周至县| 阳曲县| 荥阳市|