Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/04/2014, 03:45
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
DELETE de múltiples entradas en distintas tablas

Tengo tres tablas:

categories

Código SQL:
Ver original
  1. CREATE TABLE `categories` (
  2.  `idcategorie` INT(11) NOT NULL AUTO_INCREMENT,
  3.  `iduser` INT(11) DEFAULT NULL,
  4.  `categorie` VARCHAR(45) COLLATE utf8_spanish2_ci DEFAULT NULL,
  5.  PRIMARY KEY (`idcategorie`),
  6.  KEY `iduser_idx` (`iduser`)
  7. ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci COMMENT='categorias principales. esta relacionada con subcategorias.'

subcategories

Código SQL:
Ver original
  1. CREATE TABLE `subcategories` (
  2.  `idsubcategorie` INT(11) NOT NULL AUTO_INCREMENT,
  3.  `idcategorie` INT(11) DEFAULT NULL,
  4.  `subcategorie` VARCHAR(45) COLLATE utf8_spanish2_ci DEFAULT NULL,
  5.  PRIMARY KEY (`idsubcategorie`),
  6.  KEY `fk_idcategorie_idx` (`idcategorie`)
  7. ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci COMMENT='sirve para clasificar los posts. subcategorias tiene clave foranea de la clave primaria de posts'

posts

Código SQL:
Ver original
  1. CREATE TABLE `posts` (
  2.  `idpost` INT(11) NOT NULL AUTO_INCREMENT,
  3.  `author` VARCHAR(45) COLLATE utf8_spanish2_ci DEFAULT NULL,
  4.  `date_time` datetime DEFAULT NULL,
  5.  `title` VARCHAR(45) COLLATE utf8_spanish2_ci DEFAULT NULL,
  6.  `post` mediumtext COLLATE utf8_spanish2_ci,
  7.  `conclusion` mediumtext COLLATE utf8_spanish2_ci,
  8.  `footer` VARCHAR(45) COLLATE utf8_spanish2_ci DEFAULT NULL,
  9.  `idsubcategorie` INT(11) DEFAULT NULL,
  10.  PRIMARY KEY (`idpost`),
  11.  FULLTEXT KEY `post_index` (`post`)
  12. ) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci

El problema es que no puedo utilizar ON DELETE CASCADE para poder borrar registros en cascada de manera que pueda mantener la coherencia de los datos en la BD.

El motivo de esto es que posts no es InnoDB, sino MyIsam; esto se debe a que nesito que el campo post tenga FULLTEXT para poder realizar búsquedas profundas en su contenido.

No logro hacer que se borre una categorie junto con las subcategories relacionadas y a la vez los posts relacionados con subcategories.

¿Alguna idea de cómo podría hacer esto? He leído el manual (en inglés y español), he puesto en práctica sus ejemplos, pero no me sirven.
__________________
Ayúdame a hacerlo por mi mismo.