2010-12-13 3 views
0

Что плохого в этих запросах для создания таблиц?Невозможно создать таблицу, errno: 150

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 Workbench его все в порядке, но с использованием Maven-SQL-плагин это не удалось создать таблицу candidate_history_has_candidate_changes. Все имена имеют менее 64 символов. Пожалуйста помоги!

+0

Могу ли я увидеть CVM.Candidate? – Mike

+0

Существует ли какая-либо из этих таблиц и в ней есть данные? Я не могу найти ничего подозрительного в отношении таблиц, поэтому может быть, что одна из таблиц уже существует и не создается должным образом. – Mike

+0

Кандидат таблицы существует, но не содержит никаких данных –

ответ

0

Попробуйте сузить число возможных причин, начиная с простых create table. Попробуйте создать эту простую таблицу с кавычками обратной ссылки и без нее, если плагин не обрабатывает их должным образом.

Убедитесь, что вы входите в систему как один и тот же пользователь в обоих случаях.

0

Посмотрите, есть ли остатки от таблиц. CREATE IF NOT EXIST ничего не делает, если таблицы уже существуют. (см. комментарии автора для получения дополнительной информации).

Смежные вопросы