2016-08-01 148 views
0

我有一個表食品其列:數據庫結構錯誤

  • Food_id(PK)
  • FoodName
  • FoodDescription
  • FoodImage
  • CATEGORY_ID(FK)
  • RES_ID( FK)

與其他表餐廳其列:

  • RES_ID(PK)
  • ResName
  • Food_id(FK)
  • 位置
  • 電子郵件

當我嘗試插入記錄到任何一個表,它會給出如下錯誤:

獲得「#1452 - 不能添加或更新子行,外鍵約束失敗」

是表的結構是正確的?

+4

你有循環依賴。你需要擺脫它。 –

+0

請請不要使用不相關的標籤。 MySql **不是** SQL Server。 –

+0

我如何擺脫它? –

回答

0

我的第一個猜測(不知道你正在使用哪個數據庫)是兩個外鍵被設置爲NOT NULL,這意味着如果沒有餐廳記錄來引用食品記錄是不能創建的,並且餐廳記錄不能被引用沒有食物記錄而被創建以供參考。嘗試使它們可選,或者甚至刪除外鍵,然後嘗試添加記錄。如果這樣,你可以通過使用UPDATE TABLE命令來恢復外鍵(檢查你的數據庫的參考指南以查看語法細節)。

+0

這並不能解決發佈的設計中明顯的標準化問題。它會允許插入發生。 –