0

部下(テーブル管理者)と主テーブル(部署)を外部キーでバインドできません。次のメッセージが表示されます。

実行中:

ALTER TABLE `grocery_supermarket_manager`.`administrator` 
ADD CONSTRAINT `AdministratorDepartment_FK`
  FOREIGN KEY (`id_department`)
  REFERENCES `grocery_supermarket_manager`.`department` (`id_department`)
  ON DELETE CASCADE
  ON UPDATE CASCADE;

操作に失敗しました: SQL スクリプトをデータベースに適用中にエラーが発生しました。

ERROR 1452: Cannot add or update a child row: a foreign key constraint fails (`grocery_supermarket_manager`.`#sql-9ac_8`, CONSTRAINT `AdministratorDepartment_FK` FOREIGN KEY (`id_department`) REFERENCES `department` (`id_department`) ON DELETE CASCADE ON UPDATE CASCADE)
SQL Statement:
ALTER TABLE `grocery_supermarket_manager`.`administrator` 
ADD CONSTRAINT `AdministratorDepartment_FK`
  FOREIGN KEY (`id_department`)
  REFERENCES `grocery_supermarket_manager`.`department` (`id_department`)
  ON DELETE CASCADE
  ON UPDATE CASCADE

列名: "id_department" テーブル "Department" には:

  • データ型 - INT(10)
  • ストレージ: 主キー、非 Null、一意、符号なし、自動インクリメント。

列名: "id_department" テーブル "管理者" には:

  • データ型 - INT(10)
  • ストレージ: 非 Null、署名なし。
4

1 に答える 1

1

テーブル内の現在のデータが、追加する制約を満たしていることを確認してください。無効な部門 ID を持つ管理者がいるようです。

于 2016-12-13T08:43:07.463 に答える