无法创建表,错误号:150

发布于 2024-10-07 19:44:24 字数 4239 浏览 7 评论 0原文

这些创建表的查询有什么不好的地方?

CREATE  TABLE IF NOT EXISTS `CVM`.`CANDIDATE` (
  `ID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `FULL_NAME` VARCHAR(64)  NOT NULL ,
  `HR_INTERVIEW_DATE` DATE NULL ,
  `JOB_SEARCH_STATUS` TINYINT(1)  NULL ,
  `REFERENCES_OPTIONAL` TEXT NULL ,
  `AVAILABILITY` TEXT NULL ,
  `LOCATION` VARCHAR(200) NULL ,
  `TRIP` TEXT NULL ,
  `INTERPERSONAL_RISKS` TEXT NULL ,
  `TECHNICAL_INTERVIEW_DATE` DATE NULL ,
  `EXPERIENCE_IT` TINYINT UNSIGNED NULL ,
  `EXPERIENCE_JAVA` TINYINT UNSIGNED NULL ,
  `ENGLISH_CHECK_DATE` DATE NULL ,
  `ENGLISH_READINESS_DIALOGUE` VARCHAR(100) NULL ,
  `ENGLISH_TIME_IMPROVMENT` TINYINT UNSIGNED NULL ,
  `ENGLISH_LEVEL_ID` INT NULL ,
  `LEVEL_ID` INT NULL ,
  `DESIRED_POSITIONS` VARCHAR(100) NULL ,
  `HR_COMMENT` TEXT NULL ,
  `EXPERT_COMMENT` TEXT NULL ,
  `FOREIGN_PASSPORT_ID` INT(11) UNSIGNED NULL ,
  `SALARY_ID` INT(11) UNSIGNED NULL ,
  `SSE_INFO_ID` INT(11) UNSIGNED NULL ,
  `EXPERT_NAME` VARCHAR(100) NULL ,
  `HR_NAME` VARCHAR(100) NULL ,
  `TEACHER_NAME` VARCHAR(100) NULL ,
  PRIMARY KEY (`ID`) ,
  INDEX `FK_CANDIDATE_ENGLISH_LEVEL1` (`ENGLISH_LEVEL_ID` ASC) ,
  INDEX `fk_CANDIDATE_LEVEL1` (`LEVEL_ID` ASC) ,
  INDEX `fk_CANDIDATE_FOREIGN_PASSPORT1` (`FOREIGN_PASSPORT_ID` ASC) ,
  INDEX `fk_CANDIDATE_SALARY1` (`SALARY_ID` ASC) ,
  INDEX `fk_CANDIDATE_SSE_INFO1` (`SSE_INFO_ID` ASC) ,
  CONSTRAINT `FK_CANDIDATE_ENGLISH_LEVEL1`
    FOREIGN KEY (`ENGLISH_LEVEL_ID` )
    REFERENCES `CVM`.`ENGLISH_LEVEL` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANDIDATE_LEVEL1`
    FOREIGN KEY (`LEVEL_ID` )
    REFERENCES `CVM`.`LEVEL` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANDIDATE_FOREIGN_PASSPORT1`
    FOREIGN KEY (`FOREIGN_PASSPORT_ID` )
    REFERENCES `CVM`.`FOREIGN_PASSPORT` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANDIDATE_SALARY1`
    FOREIGN KEY (`SALARY_ID` )
    REFERENCES `CVM`.`SALARY` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANDIDATE_SSE_INFO1`
    FOREIGN KEY (`SSE_INFO_ID` )
    REFERENCES `CVM`.`SSE_INFO` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `CVM`.`CANDIDATE_HISTORY`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `CVM`.`CANDIDATE_HISTORY` (
  `ID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `CANDIDATE_ID` INT(11) UNSIGNED NOT NULL ,
  PRIMARY KEY (`ID`) ,
  INDEX `fk_CANDIDATE_HISTORY_CANDIDATE1` (`CANDIDATE_ID` ASC) ,
  CONSTRAINT `fk_CANDIDATE_HISTORY_CANDIDATE1`
    FOREIGN KEY (`CANDIDATE_ID` )
    REFERENCES `CVM`.`CANDIDATE` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `CVM`.`CANDIDATE_CHANGES`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `CVM`.`CANDIDATE_CHANGES` (
  `ID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `FIELD` VARCHAR(100) NULL ,
  `CHANGED_VALUE` TEXT NULL ,
  PRIMARY KEY (`ID`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `CVM`.`CANDIDATE_HISTORY_has_CANDIDATE_CHANGES`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `CVM`.`CANDIDATE_HISTORY_has_CANDIDATE_CHANGES` (
  `CANDIDATE_HISTORY_ID` INT(11) UNSIGNED NOT NULL ,
  `CANDIDATE_CHANGES_ID` INT(11) UNSIGNED NOT NULL ,
  PRIMARY KEY (`CANDIDATE_HISTORY_ID`, `CANDIDATE_CHANGES_ID`) ,
  INDEX `fk_CANDIDATE_HISTORY_has_CANDIDATE_CHANGES_CANDIDATE_CHANGES1` (`CANDIDATE_CHANGES_ID` ASC) ,
  CONSTRAINT `fk_CANDIDATE_HISTORY_has_CANDIDATE_CHANGES_CANDIDATE_HISTORY1`
    FOREIGN KEY (`CANDIDATE_HISTORY_ID` )
    REFERENCES `CVM`.`CANDIDATE_HISTORY` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANDIDATE_HISTORY_has_CANDIDATE_CHANGES_CANDIDATE_CHANGES1`
    FOREIGN KEY (`CANDIDATE_CHANGES_ID` )
    REFERENCES `CVM`.`CANDIDATE_CHANGES` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

在SQL工作台中一切正常,但使用maven-sql-plugin无法创建表candidate_history_has_candidate_changes。所有名称均少​​于 64 个符号。请帮忙!

What is bad in these queries for creating tables?

CREATE  TABLE IF NOT EXISTS `CVM`.`CANDIDATE` (
  `ID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `FULL_NAME` VARCHAR(64)  NOT NULL ,
  `HR_INTERVIEW_DATE` DATE NULL ,
  `JOB_SEARCH_STATUS` TINYINT(1)  NULL ,
  `REFERENCES_OPTIONAL` TEXT NULL ,
  `AVAILABILITY` TEXT NULL ,
  `LOCATION` VARCHAR(200) NULL ,
  `TRIP` TEXT NULL ,
  `INTERPERSONAL_RISKS` TEXT NULL ,
  `TECHNICAL_INTERVIEW_DATE` DATE NULL ,
  `EXPERIENCE_IT` TINYINT UNSIGNED NULL ,
  `EXPERIENCE_JAVA` TINYINT UNSIGNED NULL ,
  `ENGLISH_CHECK_DATE` DATE NULL ,
  `ENGLISH_READINESS_DIALOGUE` VARCHAR(100) NULL ,
  `ENGLISH_TIME_IMPROVMENT` TINYINT UNSIGNED NULL ,
  `ENGLISH_LEVEL_ID` INT NULL ,
  `LEVEL_ID` INT NULL ,
  `DESIRED_POSITIONS` VARCHAR(100) NULL ,
  `HR_COMMENT` TEXT NULL ,
  `EXPERT_COMMENT` TEXT NULL ,
  `FOREIGN_PASSPORT_ID` INT(11) UNSIGNED NULL ,
  `SALARY_ID` INT(11) UNSIGNED NULL ,
  `SSE_INFO_ID` INT(11) UNSIGNED NULL ,
  `EXPERT_NAME` VARCHAR(100) NULL ,
  `HR_NAME` VARCHAR(100) NULL ,
  `TEACHER_NAME` VARCHAR(100) NULL ,
  PRIMARY KEY (`ID`) ,
  INDEX `FK_CANDIDATE_ENGLISH_LEVEL1` (`ENGLISH_LEVEL_ID` ASC) ,
  INDEX `fk_CANDIDATE_LEVEL1` (`LEVEL_ID` ASC) ,
  INDEX `fk_CANDIDATE_FOREIGN_PASSPORT1` (`FOREIGN_PASSPORT_ID` ASC) ,
  INDEX `fk_CANDIDATE_SALARY1` (`SALARY_ID` ASC) ,
  INDEX `fk_CANDIDATE_SSE_INFO1` (`SSE_INFO_ID` ASC) ,
  CONSTRAINT `FK_CANDIDATE_ENGLISH_LEVEL1`
    FOREIGN KEY (`ENGLISH_LEVEL_ID` )
    REFERENCES `CVM`.`ENGLISH_LEVEL` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANDIDATE_LEVEL1`
    FOREIGN KEY (`LEVEL_ID` )
    REFERENCES `CVM`.`LEVEL` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANDIDATE_FOREIGN_PASSPORT1`
    FOREIGN KEY (`FOREIGN_PASSPORT_ID` )
    REFERENCES `CVM`.`FOREIGN_PASSPORT` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANDIDATE_SALARY1`
    FOREIGN KEY (`SALARY_ID` )
    REFERENCES `CVM`.`SALARY` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANDIDATE_SSE_INFO1`
    FOREIGN KEY (`SSE_INFO_ID` )
    REFERENCES `CVM`.`SSE_INFO` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `CVM`.`CANDIDATE_HISTORY`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `CVM`.`CANDIDATE_HISTORY` (
  `ID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `CANDIDATE_ID` INT(11) UNSIGNED NOT NULL ,
  PRIMARY KEY (`ID`) ,
  INDEX `fk_CANDIDATE_HISTORY_CANDIDATE1` (`CANDIDATE_ID` ASC) ,
  CONSTRAINT `fk_CANDIDATE_HISTORY_CANDIDATE1`
    FOREIGN KEY (`CANDIDATE_ID` )
    REFERENCES `CVM`.`CANDIDATE` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `CVM`.`CANDIDATE_CHANGES`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `CVM`.`CANDIDATE_CHANGES` (
  `ID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `FIELD` VARCHAR(100) NULL ,
  `CHANGED_VALUE` TEXT NULL ,
  PRIMARY KEY (`ID`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `CVM`.`CANDIDATE_HISTORY_has_CANDIDATE_CHANGES`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `CVM`.`CANDIDATE_HISTORY_has_CANDIDATE_CHANGES` (
  `CANDIDATE_HISTORY_ID` INT(11) UNSIGNED NOT NULL ,
  `CANDIDATE_CHANGES_ID` INT(11) UNSIGNED NOT NULL ,
  PRIMARY KEY (`CANDIDATE_HISTORY_ID`, `CANDIDATE_CHANGES_ID`) ,
  INDEX `fk_CANDIDATE_HISTORY_has_CANDIDATE_CHANGES_CANDIDATE_CHANGES1` (`CANDIDATE_CHANGES_ID` ASC) ,
  CONSTRAINT `fk_CANDIDATE_HISTORY_has_CANDIDATE_CHANGES_CANDIDATE_HISTORY1`
    FOREIGN KEY (`CANDIDATE_HISTORY_ID` )
    REFERENCES `CVM`.`CANDIDATE_HISTORY` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_CANDIDATE_HISTORY_has_CANDIDATE_CHANGES_CANDIDATE_CHANGES1`
    FOREIGN KEY (`CANDIDATE_CHANGES_ID` )
    REFERENCES `CVM`.`CANDIDATE_CHANGES` (`ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

In SQL workbench its all ok, but using maven-sql-plugin it failed to create table candidate_history_has_candidate_changes. All names are less than 64 symbols. Please, help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

陈年往事 2024-10-14 19:44:24

从简单的创建表开始,尝试缩小可能的原因范围。尝试使用或不使用反引号创建这个简单的表,以防插件无法正确处理它们。

检查您在这两种情况下是否以同一用户身份登录。

Try to narrow down the possible causes, starting with a simple create table. Try creating this simple table with and without backtick quotes in case the plugin isn't handling them properly.

Check you are logging in as the same user in both cases.

叫嚣ゝ 2024-10-14 19:44:24

看看桌子上是否还有剩菜。如果表已存在,则 CREATE IF NOT EXIST 不执行任何操作。 (有关更多信息,请参阅提问者的评论)。

See if there are any leftovers from the tables. CREATE IF NOT EXIST does nothing if the tables already exist. (see asker's comments for more info).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文