質問

MySQLワークベンチからデータベースへのスキーマの変更を同期しようとしています。外部キーを作成しようとすると、次のエラーが発生します。

Executing SQL script in server
ERROR: Error 1005: Can't create table 'tomato.#sql-2730_1b8' (errno: 121)

これがそれが実行しようとしている声明です:

ALTER TABLE `tomato`.`ing_allergy_ingredient` 
ADD CONSTRAINT `fk_ai_allergy`
FOREIGN KEY (`allergy_id` )
REFERENCES `tomato`.`ing_allergy` (`allergy_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION

このエラーの意味はありますか?

役に立ちましたか?

解決

すでに他の場所で既に使用されている名前で制約を追加しようとしている場合、このメッセージが表示されます。

これによれば 役職 このような制約を確認できます。

作成しようとしているテーブルには、外部キーの制約が含まれており、その制約のために独自の名前を提供した場合、データベース内で一意でなければならないことを忘れないでください。このクエリを実行して、その名前がどこかで使用されているかどうかを確認します。

SELECT
  constraint_name,
  table_name
FROM
  information_schema.table_constraints
WHERE
  constraint_type = 'FOREIGN KEY'
  AND table_schema = DATABASE()
ORDER BY
  constraint_name;
ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top