Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2011, 15:10
Avatar de hmvr414
hmvr414
 
Fecha de Ingreso: marzo-2011
Ubicación: Santiago de Cali, Colombia
Mensajes: 74
Antigüedad: 13 años, 1 mes
Puntos: 16
Pregunta Problema con ON DELETE CASCADE en MySQL

Hola,

Tengo una tabla que ya esta poblada con muchos registros, que almacena diferentes traducciones para un contenido.

la tabla es la siguiente:

CREATE TABLE `tblTraduccionSeccion` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`titulo` varchar(255) NOT NULL,
`descripcion` varchar(255) NOT NULL,
`contenido` text NOT NULL,
`title` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`keywords` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
`idPag` int(11) NOT NULL,
`lang` enum('ES','EN') NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

Trato de poner una llave foranea con ON DELETE CASCADE para que cuando se elimine un contenido se eliminen tambien todas sus traducciones, pero me genera un error:

Error Code: 1005. Can't create table 'zoo.#sql-135_64' (errno: 150)

la consulta es la siguiente:

ALTER TABLE tblTraduccionSeccion
ADD CONSTRAINT `FK_SECCION`
FOREIGN KEY (`idPag` )
REFERENCES tblSeccion (`id` )
ON DELETE CASCADE
ON UPDATE CASCADE;

que puedo hacer?
que otra alternativa hay para poner esta restriccion?


muchas gracias.

-------------------------------------------------
solucionado,

una tabla estaba con MyISAM y la otra con InnoDB por eso no podia poner la llave.

Última edición por hmvr414; 01/09/2011 a las 15:46 Razón: solucionado