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 个符号。请帮忙!

4

3 回答 3

0

尝试缩小可能的原因,从简单的create table. 如果插件无法正确处理它们,请尝试使用和不使用反引号创建这个简单的表。

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

于 2010-12-13T13:11:14.417 回答
0

这里有很多可能的答案:http: //verysimple.com/2006/10/22/mysql-error-number-1005-cant-create-table-mydbsql-328_45frm-errno-150/

于 2010-12-13T18:40:06.000 回答
0

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

于 2010-12-13T15:22:40.133 回答