MySQLワークベンチから外部キーの作成エラー
-
16-10-2019 - |
質問
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;
所属していません dba.stackexchange