I have the following 3 tables:
CREATE TABLE tEstado
(idEstado INT NOT NULL AUTO_INCREMENT, Estado VARCHAR(100) NOT NULL,
PRIMARY KEY(idEstado), INDEX(idEstado))ENGINE=INNODB;
CREATE TABLE tMunicipio
(idMunicipio INT NOT NULL AUTO_INCREMENT,
idMunicipioEstado VARCHAR(100) NOT NULL,
Municipo VARCHAR(100) NOT NULL,
idEstado INT NOT NULL,
PRIMARY KEY(idMunicipio, idMunicipioEstado),
INDEX(idMunicipio, idMunicipioEstado),
FOREIGN KEY(idEstado) REFERENCES tEstado(idEstado))ENGINE=INNODB;
CREATE TABLE tColonia
(idColonia INT NOT NULL AUTO_INCREMENT,
CP VARCHAR(10) NOT NULL,
Colonia VARCHAR(100) NOT NULL,
idEstado INT NOT NULL,
idMunicipioEstado VARCHAR(100) NOT NULL,
PRIMARY KEY(idColonia),
INDEX(idColonia),
FOREIGN KEY (idEstado) REFERENCES tEstado(idEstado),
FOREIGN KEY (idMunicipioEstado) REFERENCES tMunicipio(idMunicipioEstado)
ON UPDATE CASCADE ON DELETE SET NULL)
ENGINE=INNODB;
The first two I can create them without any problem, even I already have records in them but when creating the third I get the following error: Can not create table proyecto
. tcolonia
(errno: 150 "Foreign key constraint is incorrectly formed")
I would greatly appreciate your help. Good afternoon.