我正在尝试将架构更改从 MySQL Workbench 同步到我的数据库。尝试创建外键时出现以下错误:
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
任何想法这个错误意味着什么?
如果您尝试添加名称已在其他地方使用过的约束,您将收到此消息。
根据这篇文章,您可以像这样检查您的约束:
如果您尝试创建的表包含外键约束,并且您为该约束提供了自己的名称,请记住它在数据库中必须是唯一的。运行此查询以查看该名称是否在某处使用: