首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MySQL工作台创建外键时出错

从MySQL工作台创建外键时出错
EN

Database Administration用户
提问于 2011-01-08 20:54:28
回答 1查看 13.9K关注 0票数 9

我正在尝试将模式更改从MySQL工作台同步到我的数据库。当它试图创建外键时,我得到了以下错误:

代码语言:javascript
复制
Executing SQL script in server
ERROR: Error 1005: Can't create table 'tomato.#sql-2730_1b8' (errno: 121)

下面是它试图执行的语句:

代码语言:javascript
复制
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

知道这个错误意味着什么吗?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2011-01-08 21:27:05

如果您试图添加一个已在其他地方使用的名称的约束,您将得到此消息。

根据这个帖子,您可以像这样检查约束:

如果要创建的表包含一个外键约束,并且为该约束提供了自己的名称,请记住它在数据库中必须是唯一的。运行此查询以查看该名称是否在某处使用:

代码语言:javascript
复制
SELECT
  constraint_name,
  table_name
FROM
  information_schema.table_constraints
WHERE
  constraint_type = 'FOREIGN KEY'
  AND table_schema = DATABASE()
ORDER BY
  constraint_name;
票数 11
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档