Die CREATE TABLE
folgenden nicht funktioniert:verursacht FK einen Absturz während der Erstellung eine Tabelle
CREATE TABLE IF NOT EXISTS `transacciones`.`jos_trans_sector` (
`id_sector` INT NOT NULL,
`nombre` VARCHAR(45) NULL DEFAULT NULL,
PRIMARY KEY (`id_sector`),
CONSTRAINT `fk_sector_empresa_sector1`
FOREIGN KEY (`id_sector`)
REFERENCES `transacciones`.`jos_trans_empresa_sector` (`id_sector`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
ich: Error Code: 1005. Can't create table 'transacciones.jos_trans_sector' (errno: 150)
Wenn ich SHOW ENGINE INNODB STATUS;
verwende ich erhalte die folgende Ausgabe:
------------------------
LATEST FOREIGN KEY ERROR
------------------------
170509 16:14:06 Error in foreign key constraint of table transacciones/jos_trans_sector:
FOREIGN KEY (`id_sector`)
REFERENCES `transacciones`.`jos_trans_empresa_sector` (`id_sector`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB:
Cannot find an index in the referenced table where the [...]
Ich habe einige Post überprüft, wo sie über verschiedene Typen zwischen dem id
und dem 01 sprechen, aber ich habe das gleiche für beide (INT
)
Irgendwelche Ideen?
Vielen Dank im Voraus.
Haben Sie einen Primärschlüssel auf jos_trans_empresa_sector für den zu referenzierenden FK? –
Es gibt keinen "Absturz" und der Fehler ist ziemlich offensichtlich. Deklarieren Sie die entsprechende Spalte in der referenzierenden Tabelle als 'eindeutig' oder als 'Primärschlüssel'. –
Danke. Ich wusste nicht, dass ich "Indizes" erstellen musste, als ich 'N-M'-Beziehungen herstellte. –