ho le seguenti tabelle:SQL: ERRORE 1005: Impossibile creare la tabella '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`));
Ora, poiché la connessione è molti a molti, ogni elemento può avere molti soggetto e ogni soggetto può essere correlato a molti elementi - Mi piacerebbe impostare una tabella di connessione. Questo è il mio codice:
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);
ma per qualche ragione non viene accettato il codice del 3 ° tavolo. ricevo un messaggio di errore:
ERRORE 1005: Impossibile creare la tabella 'obl2.itemsubjects' (errno: 121)
Ho letto sull'errore su internet e si dice è un problema noto di MYSQL ma non ci sono soluzioni.
Qualche idea?
Puoi provare a inserire alcuni dati per i primi due tabella nello script e quindi aggiungere creare la tabella per il terzo tavolo? – bonCodigo
hey bonCondigo, ci ho provato ora .. ancora lo stesso errore. Devo dire che ho fatto la stessa cosa in precedenza con gli autori e ha funzionato perfettamente. posso capire perché con soggetti fallisce. –
È necessario per te fornire nomi tabella espliciti con db? – bonCodigo