Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/07/2010, 09:39
RENELOPEZ
 
Fecha de Ingreso: junio-2010
Mensajes: 61
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: cascada on delate?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
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?

Última edición por RENELOPEZ; 08/07/2010 a las 14:56 Razón: re