首頁 > 資料庫 > mysql教程 > mysql建立表外鍵約束怎麼寫

mysql建立表外鍵約束怎麼寫

下次还敢
發布: 2024-04-22 19:51:38
原創
1219 人瀏覽過

在 MySQL 中建立表格外鍵約束可確保參考完整性。步驟如下:建立兩個表並指定主鍵。在子表中加入 FOREIGN KEY 約束,引用父表的主鍵。可選擇指定參考操作(例如級聯刪除或限制更新)。

mysql建立表外鍵約束怎麼寫

在MySQL 中建立表格外鍵約束

當兩個表之間建立外鍵約束時,可以確保它們之間的參照完整性。以下步驟介紹了在MySQL 中建立表外鍵約束的方法:

第一步:建立兩個表

建立兩個表,我們要在其中建立外鍵約束:

<code class="sql">CREATE TABLE parent_table (
    id INT NOT NULL,
    name VARCHAR(255) NOT NULL,
    PRIMARY KEY (id)
);

CREATE TABLE child_table (
    id INT NOT NULL,
    parent_id INT NOT NULL,
    value VARCHAR(255) NOT NULL,
    PRIMARY KEY (id),
    FOREIGN KEY (parent_id) REFERENCES parent_table(id)
);</code>
登入後複製

第二步:在子表中新增外鍵約束

child_table 中,使用 FOREIGN KEY 約束將parent_id 欄位引用到parent_table 中的id 欄位:

<code class="sql">ALTER TABLE child_table
ADD FOREIGN KEY (parent_id) REFERENCES parent_table(id);</code>
登入後複製

#第三個步驟:指定參考操作(可選)

您可以使用ON DELETEON UPDATE 子句指定在對父表進行刪除或更新操作時對子表中受影響記錄的行為:

<code class="sql">ALTER TABLE child_table
ADD FOREIGN KEY (parent_id) REFERENCES parent_table(id)
ON DELETE CASCADE
ON UPDATE RESTRICT;</code>
登入後複製

在這段程式碼中:

  • ON DELETE CASCADE:當從parent_table# 中刪除記錄時,將自動從child_table 中級聯刪除相關記錄。
  • ON UPDATE RESTRICT:當 parent_table 中的記錄被更新時,將阻止對 child_table 中受影響記錄的任何更新。

說明:

  • 確保父表中的列資料類型與子表中的外鍵列相同。
  • 如果父表中的列允許空值,則子表中的外鍵列也必須允許空值。
  • 如果在建立外鍵約束後變更父表中的列,則需要修改外鍵約束以符合變更。
  • 外鍵約束有助於確保資料完整性,防止插入和刪除不一致的資料。

以上是mysql建立表外鍵約束怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板