首頁 > 資料庫 > mysql教程 > 使用外鍵約束時如何避免 MySQL Errno 150 錯誤?

使用外鍵約束時如何避免 MySQL Errno 150 錯誤?

Patricia Arquette
發布: 2024-12-21 19:37:16
原創
625 人瀏覽過

How to Avoid MySQL Errno 150 Errors When Using Foreign Key Constraints?

MySQL 外鍵約束:避免Errno 150 錯誤

在MySQL 中建立一個外鍵引用其他表的表時,您可能會遇到錯誤號碼:150 錯誤。要解決此問題,遵循以下準則至關重要:

  1. 確保表順序: 在使用外鍵建立子表之前定義包含主鍵的父表參考。
  2. 啟用外鍵支援:父表和子表都應該支援外鍵約束,通常透過使用InnoDB 儲存引擎。
  3. 最左列鍵: 父表中所引用的欄位必須是鍵的最左列,最好是 PRIMARY KEY 或 UNIQUE KEY。
  4. 匹配主鍵順序: FK 定義必須與 PK 定義在列方面一致順序和資料型態。
  5. 正確的資料對齊:父表中的 PK 列和子表中的 FK 列在資料類型和排序規則方面必須相符。
  6. 現有數據相容性:如果子表有數據,請確保每個FK列值與父表中的對應值相符PK 列。
  7. 避免臨時表或分區表:不能在 TEMPORARY 或 PARTITIONED 表上定義外鍵約束。
  8. 可空列:如果使用 ON DELETE SET NULL 選項時,FK 欄位必須是可空。
  9. 唯一約束名稱:外鍵約束在整個模式中應該具有唯一的名稱以避免衝突。
  10. 從屬外鍵:如果格式錯誤的 FK 存在於引用父表中相同欄位的另一個表中,請在建立新 FK 之前確保一致性。使用以下查詢來識別有問題的 FK:

以上是使用外鍵約束時如何避免 MySQL Errno 150 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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