Mam następujące tabele:SQL: ERROR 1005: Nie można utworzyć tabeli 'obl2.itemsubjects' (errno: 121)
CREATE TABLE `OBL2`.`item` (
`itemID` INT NOT NULL AUTO_INCREMENT ,
`itemName` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`itemID`) ,
INDEX `itemName` (`itemName` ASC));
CREATE TABLE `OBL2`.`subject` (
`subjectID` INT NOT NULL ,
`subjectName` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`subjectID`));
Teraz ponieważ połączenie jest wiele do wielu, każdy element może mieć wiele temat i każdy temat może być powiązany z wieloma przedmiotami - chciałbym ustawić tabelę połączeń. To jest mój kod:
CREATE TABLE `OBL2`.`itemsubjects` (
`itemID` INT NOT NULL ,
`subjectID` INT NOT NULL ,
PRIMARY KEY (`itemID`, `subjectID`) ,
INDEX `itemID_idx` (`itemID` ASC) ,
INDEX `subjectID_idx` (`subjectID` ASC) ,
CONSTRAINT `itemID`
FOREIGN KEY (`itemID`)
REFERENCES `OBL2`.`item` (`itemID`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `subjectID`
FOREIGN KEY (`subjectID`)
REFERENCES `OBL2`.`subject` (`subjectID`)
ON DELETE CASCADE
ON UPDATE CASCADE);
ale z jakiegoś powodu kod 3rd tabeli nie są akceptowane. otrzymuję komunikat o błędzie:
ERROR 1005: nie można utworzyć tabeli 'obl2.itemsubjects' (errno: 121)
Czytałem o błędzie w internecie i mówi jest to znane wydanie MYSQL, ale nie ma rozwiązań.
Jakieś myśli?
możesz spróbować wstawić jakieś dane do dwóch pierwszych tabeli w skrypcie, a następnie dodać utworzyć tabelę trzeciej tabeli? – bonCodigo
hej bonCondigo, próbowałem tego teraz .. wciąż ten sam błąd. Muszę powiedzieć, że zrobiłem to samo wcześniej z autorami i wszystko działało idealnie. Mogę zrozumieć, dlaczego z przedmiotami się nie udaje. –
Czy należy podać jawne nazwy tabel za pomocą db? – bonCodigo