
Jeden klucz zew. jest dodany do tabeli w której przechowywani są użyszkodnicy, natomiast _country_id leci do tabeli która przechowuje nazwy państw. Czyli niezbyt to skomplikowane.
Niestety kiedy prubuję utworzyć tą tabelę przy ustawionym silniku składowania na InnoDB wywala mi ona błąd 1005: Nie można utworzyć tabeli ( 105) znalazłem co nieco o nim tutaj niestety nie ma tam opisanego mojego przypadku.
Znalazłem rozwiązanie typu plaster na (_|_), które polega na zmianie typu na MyISAM, dodaniu tabeli, a następnie manualnej zmianie na InnoDB. Chciałbym jednak wiedzieć co powoduje ten błąd żebym nie musiał go obchodzić w przyszłości.
Dzięki
Edit>
Kod
CREATE TABLE IF NOT EXISTS `state` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(125) NOT NULL ,
`_country_id` INT NOT NULL ,
PRIMARY KEY (`id`) ,
UNIQUE INDEX `code_UNIQUE` (`id` ASC) ,
INDEX `fk_state_country` (`_country_id` ASC) ,
CONSTRAINT `fk_state_country`
FOREIGN KEY (`_country_id` )
REFERENCES `country` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(125) NOT NULL ,
`_country_id` INT NOT NULL ,
PRIMARY KEY (`id`) ,
UNIQUE INDEX `code_UNIQUE` (`id` ASC) ,
INDEX `fk_state_country` (`_country_id` ASC) ,
CONSTRAINT `fk_state_country`
FOREIGN KEY (`_country_id` )
REFERENCES `country` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB