Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/07/2010, 15:31
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: cascada on delate?

ON DELETE CASCADE ON UPDATE CASCADE es una cláusula de la creación de FOREIGN KEYs cuando creas una tabla dependiente por clave foránea de otra.
Sólo se puede indica cuando creas la tabla o agregar a la tabla después, pero no es una operación que se pueda indicar en una sentencia. Es una condición fija de las tablas de una base.
Para que puedas indicarla debes poner la condición en la tabla que lleve las FK.
Algo como:

Código MySQL:
Ver original
  1. CREATE TABLE  `combustible` (
  2.   `IDCONSUMO` int(10) unsigned NOT NULL auto_increment,
  3.   `ID_DIARIO` int(10) unsigned NOT NULL,
  4.   `COD_EVENTO` smallint(5) unsigned NOT NULL,
  5.   `PATENTE` char(12) NOT NULL,
  6.   PRIMARY KEY  (`IDCONSUMO`),
  7.   KEY `ID_DIARIO` (`ID_DIARIO`),
  8.   CONSTRAINT `combustible_ibfk_diario` FOREIGN KEY (`ID_DIARIO`) REFERENCES `diario` (`ID_DIARIO`) ON DELETE CASCADE
En esta tabla, ID_DIARIO apunta a la PK de una tabla llamada "diario", e indica que si en "diario" se elimina un registro relacionado con esta, en esta se borre también.

¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)