首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL重复密钥错误

MySQL重复密钥错误
EN

Stack Overflow用户
提问于 2015-05-03 05:55:15
回答 1查看 229关注 0票数 0

如果我运行这段代码都很好,但是如果取消注释最后一次约束,我会得到以下错误:

错误代码: 1022。不会写;在表'transfer‘中重复键

但是没有另一个键'fk_component_id',这段代码有什么问题?

代码语言:javascript
运行
复制
-- -----------------------------------------------------
-- Table `pcdb`.`transfer`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `pcdb`.`transfer` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `component_id` INT UNSIGNED NOT NULL,
  `type` INT NULL,
  `parent_id` INT UNSIGNED NULL,
  `source_id` INT UNSIGNED NULL,
  `contractor_id` INT UNSIGNED NULL,
  `src_department_id` INT UNSIGNED NULL,
  `dest_department_id` INT UNSIGNED NULL,
  `session_id` INT UNSIGNED NOT NULL,
  `count` INT UNSIGNED NOT NULL,
  `comment` TEXT(65535) NULL,
  `active` TINYINT(1) NOT NULL DEFAULT 1,
  PRIMARY KEY (`id`),
  CONSTRAINT `fk_src_department_id`
    FOREIGN KEY (`src_department_id`)
    REFERENCES `pcdb`.`department` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_income_id`
    FOREIGN KEY (`source_id`)
    REFERENCES `pcdb`.`transfer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION, 
  CONSTRAINT `fk_contractor_id`
    FOREIGN KEY (`contractor_id`)
    REFERENCES `pcdb`.`contractor` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_session_id`
    FOREIGN KEY (`session_id`)
    REFERENCES `pcdb`.`session` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_dest_department_id`
    FOREIGN KEY (`dest_department_id`)
    REFERENCES `pcdb`.`department` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_parent_id`
    FOREIGN KEY (`parent_id`)
    REFERENCES `pcdb`.`transfer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION/*, 
  CONSTRAINT `fk_component_id`
    FOREIGN KEY (`component_id`)
    REFERENCES `pcdb`.`component` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION*/);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-03 06:18:41

听起来,您可能已经在数据库中的另一个表上有了一个带有该名称的约束。尝试将该约束的名称更改为类似于"fk_transfer_component_id“的内容,并查看是否仍然收到错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30010707

复制
相关文章

相似问题

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