Hola buenas:
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:
-- -----------------------------------------------------
-- 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) ;