Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/10/2004, 02:53
nesetru123
 
Fecha de Ingreso: mayo-2004
Mensajes: 101
Antigüedad: 20 años, 8 meses
Puntos: 0
DELETE CASCADE vs ALTER TABLE

Hola a todos,
tengo la siguiente BD (simplificada):
CREATE TABLE `is_cliente` (
`IDCLIENTE` int(11) unsigned NOT NULL auto_increment,
`IDOFICINA` tinyint(11) unsigned NOT NULL default '0',
`CNOMBRE` varchar(50) default NULL,
`CAPELLIDO1` varchar(50) default NULL,
`CAPELLIDO2` varchar(50) default NULL,
PRIMARY KEY (`IDCLIENTE`),
KEY `IDX_is_cliente_2` (`IDUSUARIO`),
KEY `IDOFICINA` (`IDOFICINA`)
) TYPE=InnoDB;

CREATE TABLE `is_oficina` (
`IDOFICINA` int(2) unsigned zerofill NOT NULL auto_increment,
`OFICINA` varchar(20) NOT NULL default '',
PRIMARY KEY (`IDOFICINA`)
) TYPE=InnoDB ;

El caso es que quiero crear una clave ajena en is_cliente, para que cuando se borre una referencia de is_oficina se borren todos los clientes asociados.

Luego lo que hago es ir ami gestor de BD (Mysql) y escribir lo siguiente en is_cliente:

ALTER TABLE is_cliente
ADD FOREIGN KEY (IDOFICINA)
REFERENCES tis_oficina (IDOFICINA)
ON DELETE CASCADE

que es lo que me falla?!
gracias.