Tengo dos tablas llamadas "empresas" y otra "clientes". Cuando se produce una venta se introduce una fila en la tabla "ventas" que tiene como índices "idempresas" e "idclientes".
El problema es que cuando quiero borrar una empresa no me elimina las filas de la tabla ventas.
Qué estoy haciendo mal? no sé si estoy poniendo bien delete on cascade... o que ocurre.
Aquí esta el código:
Código
-- ----------------------------------------------------- -- Table `bdd`.`empresas` -- ----------------------------------------------------- DROP TABLE IF EXISTS `bdd`.`empresas` ; CREATE TABLE IF NOT EXISTS `bdd`.`empresas` ( `idempresas` INT NOT NULL AUTO_INCREMENT , PRIMARY KEY (`idempresas`) , ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci; -- ----------------------------------------------------- -- Table `bdd`.`clientes` -- ----------------------------------------------------- DROP TABLE IF EXISTS `bdd`.`clientes` ; CREATE TABLE IF NOT EXISTS `bdd`.`clientes` ( `idclientes` INT NOT NULL AUTO_INCREMENT , PRIMARY KEY (`idclientes`) , ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci; -- ----------------------------------------------------- -- Table `bdd`.`ventas` -- ----------------------------------------------------- DROP TABLE IF EXISTS `bdd`.`ventas` ; CREATE TABLE IF NOT EXISTS `bdd`.`ventas` ( `empresas_idempresas` INT NOT NULL , `clientes_idclientes` INT NOT NULL , `venta` INT NOT NULL , PRIMARY KEY (`empresas_idempresas`, `clientes_idclientes`) , CONSTRAINT `fk_empresas_has_ventas` FOREIGN KEY (`empresas_idempresas` ) REFERENCES `bdd`.`empresas` (`idempresas` ) ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT `fk_empresas_has_ventas2` FOREIGN KEY (`clientes_idclientes` ) REFERENCES `bdd`.`clientes` (`idclientes` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci; CREATE INDEX `fk_empresas_has_ventas` ON `bdd`.`ventas` (`empresas_idempresas` ASC) ; CREATE INDEX `fk_empresas_has_ventas2` ON `bdd`.`ventas` (`clientes_idclientes` ASC) ;