2016-07-05 4 views
0

나는 워크 벤치 앞으로 엔지니어의 로그 오류 얻을 SQL 스크립트를 실행하려고하면 :MySQL 서버 오류 1005

Executing SQL script in server 
ERROR: Error 1005: Can't create table 'regional_budget.budget' (errno: 121) 
SQL Code: 
     -- ----------------------------------------------------- 
     -- Table `regional_budget`.`budget` 
     -- ----------------------------------------------------- 
     CREATE TABLE IF NOT EXISTS `regional_budget`.`budget` (
      `id` INT(3) NOT NULL AUTO_INCREMENT, 
      `region_id` INT(3) NOT NULL, 
      `balance` DECIMAL(11,2) NULL, 
      `income_id` INT(3) NOT NULL, 
      `income` DECIMAL(11,2) NULL, 
      `outcome_id` INT(3) NOT NULL, 
      `outcome` DECIMAL(11,2) NULL, 
      PRIMARY KEY (`id`), 
      INDEX `region_id_idx` (`region_id` ASC), 
      INDEX `outcome_id_idx` (`outcome_id` ASC), 
      INDEX `income_id_idx` (`income_id` ASC), 
      CONSTRAINT `region_id` 
      FOREIGN KEY (`region_id`) 
      REFERENCES `regional_budget`.`regions` (`id`) 
      ON DELETE NO ACTION 
      ON UPDATE NO ACTION, 
      CONSTRAINT `income_id` 
      FOREIGN KEY (`income_id`) 
      REFERENCES `regional_budget`.`income` (`id`) 
      ON DELETE NO ACTION 
      ON UPDATE NO ACTION, 
      CONSTRAINT `outcome_id` 
      FOREIGN KEY (`outcome_id`) 
      REFERENCES `regional_budget`.`outcome` (`id`) 
      ON DELETE NO ACTION 
      ON UPDATE NO ACTION) 
     ENGINE = InnoDB 

SQL script execution finished: statements: 13 succeeded, 1 failed 

Fetching back view definitions in final form. 
Nothing to fetch 

SQL 스크립트를

-- MySQL Workbench Forward Engineering 

    SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0; 
    SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; 
    SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; 

    -- ----------------------------------------------------- 
    -- Schema regional_budget 
    -- ----------------------------------------------------- 

    -- ----------------------------------------------------- 
    -- Schema regional_budget 
    -- ----------------------------------------------------- 
    CREATE SCHEMA IF NOT EXISTS `regional_budget` DEFAULT CHARACTER SET utf8 ; 
    USE `regional_budget` ; 

    -- ----------------------------------------------------- 
    -- Table `regional_budget`.`regions` 
    -- ----------------------------------------------------- 
    CREATE TABLE IF NOT EXISTS `regional_budget`.`regions` (
     `id` INT NOT NULL AUTO_INCREMENT, 
     `name` VARCHAR(20) NULL, 
     PRIMARY KEY (`id`)) 
    ENGINE = InnoDB; 


    -- ----------------------------------------------------- 
    -- Table `regional_budget`.`subjects` 
    -- ----------------------------------------------------- 
    CREATE TABLE IF NOT EXISTS `regional_budget`.`subjects` (
     `id` INT NOT NULL, 
     `name` VARCHAR(20) NULL, 
     `region_id` INT NULL, 
     PRIMARY KEY (`id`), 
     INDEX `region_id_idx` (`region_id` ASC), 
     CONSTRAINT `region_id` 
     FOREIGN KEY (`region_id`) 
     REFERENCES `regional_budget`.`regions` (`id`) 
     ON DELETE NO ACTION 
     ON UPDATE NO ACTION) 
    ENGINE = InnoDB; 


    -- ----------------------------------------------------- 
    -- Table `regional_budget`.`income` 
    -- ----------------------------------------------------- 
    CREATE TABLE IF NOT EXISTS `regional_budget`.`income` (
     `id` INT NOT NULL AUTO_INCREMENT, 
     `tax_and_non_tax` DECIMAL(11,2) NULL, 
     `receipts` DECIMAL(11,2) NULL, 
     PRIMARY KEY (`id`)) 
    ENGINE = InnoDB; 


    -- ----------------------------------------------------- 
    -- Table `regional_budget`.`outcome` 
    -- ----------------------------------------------------- 
    CREATE TABLE IF NOT EXISTS `regional_budget`.`outcome` (
     `id` INT NOT NULL AUTO_INCREMENT, 
     `transfers` DECIMAL(11,2) NULL, 
     `subventions` DECIMAL(11,2) NULL, 
     `subsidies` DECIMAL(11,2) NULL, 
     `dotations` DECIMAL(11,2) NULL, 
     PRIMARY KEY (`id`)) 
    ENGINE = InnoDB; 


    -- ----------------------------------------------------- 
    -- Table `regional_budget`.`population` 
    -- ----------------------------------------------------- 
    CREATE TABLE IF NOT EXISTS `regional_budget`.`population` (
     `subject_id` INT NOT NULL, 
     `count` DECIMAL(11,2) NULL, 
     PRIMARY KEY (`subject_id`), 
     CONSTRAINT `subject_id` 
     FOREIGN KEY (`subject_id`) 
     REFERENCES `regional_budget`.`subjects` (`id`) 
     ON DELETE NO ACTION 
     ON UPDATE NO ACTION) 
    ENGINE = InnoDB; 


    SET [email protected]_SQL_MODE; 
    SET [email protected]_FOREIGN_KEY_CHECKS; 
    SET [email protected]_UNIQUE_CHECKS; 

    -- ----------------------------------------------------- 
    -- Table `regional_budget`.`budget` 
    -- ----------------------------------------------------- 
    CREATE TABLE IF NOT EXISTS `regional_budget`.`budget` (
     `id` INT(3) NOT NULL AUTO_INCREMENT, 
     `region_id` INT(3) NOT NULL, 
     `balance` DECIMAL(11,2) NULL, 
     `income_id` INT(3) NOT NULL, 
     `income` DECIMAL(11,2) NULL, 
     `outcome_id` INT(3) NOT NULL, 
     `outcome` DECIMAL(11,2) NULL, 
     PRIMARY KEY (`id`), 
     INDEX `region_id_idx` (`region_id` ASC), 
     INDEX `outcome_id_idx` (`outcome_id` ASC), 
     INDEX `income_id_idx` (`income_id` ASC), 
     CONSTRAINT `region_id` 
     FOREIGN KEY (`region_id`) 
     REFERENCES `regional_budget`.`regions` (`id`) 
     ON DELETE NO ACTION 
     ON UPDATE NO ACTION, 
     CONSTRAINT `income_id` 
     FOREIGN KEY (`income_id`) 
     REFERENCES `regional_budget`.`income` (`id`) 
     ON DELETE NO ACTION 
     ON UPDATE NO ACTION, 
     CONSTRAINT `outcome_id` 
     FOREIGN KEY (`outcome_id`) 
     REFERENCES `regional_budget`.`outcome` (`id`) 
     ON DELETE NO ACTION 
     ON UPDATE NO ACTION) 
    ENGINE = InnoDB; 

P.S.을 나는 'regional_budget'을 만들려고했다. 다른 참조 테이블 뒤에 외래 키가있는 'budget'. 또한 foreign_key_checks를 사용하려고했지만 아무 도움이되지 않습니다.

답변

0

나는 이미 열 (또는 다른 제약 조건에 사용되는 식별자와 충돌 고유해야하는 외부 키 제한 조건의 식별자를 변경 시도, 그리고 제안 예를 들어

:.

CONSTRAINT `FK_budget_regions` FOREIGN KEY ... 

    CONSTRAINT `FK_budget_income` FOREIGN KEY ... 

    CONSTRAINT `FK_budget_outcome` FOREIGN KEY ...