MySQL 外鍵:維護表關係中的數據完整性
構建健壯且可靠的數據庫需要仔細管理表之間的關係。 MySQL 的外鍵機制對於確保這些關係中的數據完整性至關重要。
讓我們以涉及兩個表的示例進行說明:accounts
和 customers
。 每個帳戶都屬於特定客戶,由唯一的 customer_id
標識。 外鍵約束建立了此鏈接。
<code class="language-sql">CREATE TABLE accounts ( account_id INT NOT NULL AUTO_INCREMENT, customer_id INT(4) NOT NULL, account_type ENUM('savings', 'credit') NOT NULL, balance FLOAT(9) NOT NULL, PRIMARY KEY (account_id), FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ) ENGINE=INNODB;</code>
此代碼創建 accounts
表並在 customer_id
列上包含外鍵約束。此約束引用 customer_id
表中的 customers
,強制 customer_id
中的每個 accounts
必須與 customer_id
表中現有的 customers
匹配。
外鍵的核心好處是它們強制引用完整性。 任何在 accounts
表中插入或更新違反此關係的數據的嘗試(例如,引用不存在的 customer_id
)都將被數據庫拒絕,以保持數據一致性。
以上是外國密鑰如何確保MySQL關係中的數據完整性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!