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

mysql建立表外鍵怎麼寫

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

在 MySQL 中,可透過下列步驟建立表格外鍵:建立父表和子表,並確保父表存在對應列。使用 FOREIGN KEY 約束將子表中的列與父表中的列關聯。可選擇性地指定級聯操作,定義刪除或更新父表記錄時對子表記錄的影響。執行查詢檢查外鍵約束是否已正確套用。

mysql建立表外鍵怎麼寫

如何使用MySQL 建立表格外鍵

在MySQL 中,外鍵約束用來確保子表中的記錄與父表中的相關記錄相對應。它有助於維護資料一致性和完整性。以下是建立外鍵的步驟:

1. 建立父表和子表

#首先,建立包含外鍵列的子表。確保父表中存在對應的欄位。例如:

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

CREATE TABLE child_table (
  id INT NOT NULL,
  parent_id INT,
  name VARCHAR(255)
);</code>
登入後複製

2. 建立外鍵約束

在子表中使用FOREIGN KEY 約束將子表中的parent_id 列與父表中的id 列關聯起來。例如:

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

3. 指定級聯操作(可選)

#級聯操作定義當父表中的記錄被刪除或更新時,外鍵約束如何影響子表中的相關記錄。您可以使用 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>
登入後複製

此範例指定:

  • 當父表中引用的父記錄被刪除時,將從子表中級聯刪除相關子記錄。
  • 當父表中的引用的父記錄被更新時,將阻止更新。

4. 檢查約束

建立外鍵約束後,執行下列查詢檢查約束是否已套用:

<code class="sql">SELECT * FROM child_table
WHERE parent_id NOT IN (SELECT id FROM parent_table);</code>
登入後複製

如果查詢傳回結果,則表示子表中存在沒有父記錄相對應的記錄,外鍵約束未正確應用。

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

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