Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

On delete restrict on update cascade,

Estas en el tema de On delete restrict on update cascade, en el foro de Mysql en Foros del Web. Consulta, vi que en algunas BD al finalizar una union de tablas con FOREIGN KEY , luego ponen ON DELETE RESTRICT ON UPDATE CASCADE, Realmente ...
  #1 (permalink)  
Antiguo 31/01/2013, 16:02
 
Fecha de Ingreso: abril-2012
Mensajes: 47
Antigüedad: 12 años
Puntos: 1
On delete restrict on update cascade,

Consulta, vi que en algunas BD al finalizar una union de tablas con FOREIGN KEY , luego ponen ON DELETE RESTRICT ON UPDATE CASCADE,

Realmente para que sirve y cuando me conviene ponerlo?

Muchas gracias
  #2 (permalink)  
Antiguo 31/01/2013, 16:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: On delete restrict on update cascade,

En el manual puedes encontrar la información que necesitas:
Cita:
Iniciado por Manual de MySQL
Cuando el usuario intenta borrar o actualizar una fila de una tabla padre, InnoDB soporta cinco acciones respecto a la acción a tomar:

CASCADE: Borra o actualiza el registro en la tabla padre y automáticamente borra o actualiza los registros coincidentes en la tabla hija. Tanto ON DELETE CASCADE como ON UPDATE CASCADE están disponibles en MySQL 5.0. Entre dos tablas, no se deberían definir varias cláusulas ON UPDATE CASCADE que actúen en la misma columna en la tabla padre o hija.

SET NULL: Borra o actualiza el registro en la tabla padre y establece en NULL la o las columnas de clave foránea en la tabla hija. Esto solamente es válido si las columnas de clave foránea no han sido definidas como NOT NULL. MySQL 5.0 soporta tanto ON DELETE SET NULL como ON UPDATE SET NULL.

NO ACTION: En el estándar ANSI SQL-92, NO ACTION significa ninguna acción en el sentido de que unintento de borrar o actualizar un valor de clave primaria no sera permitido si en la tabla referenciada hay una valor de clave foránea relacionado. (Gruber, Mastering SQL, 2000:181). En MySQL 5.0, InnoDB rechaza la operación de eliminación o actualización en la tabla padre.

RESTRICT: Rechaza la operación de eliminación o actualización en la tabla padre. NO ACTION y RESTRICT son similares en tanto omiten la cláusula ON DELETE u ON UPDATE. (Algunos sistemas de bases de datos tienen verificaciones diferidas o retrasadas, una de las cuales es NO ACTION. En MySQL, las restricciones de claves foráneas se verifican inmediatamente, por eso, NO ACTION y RESTRICT son equivalentes.)

SET DEFAULT: Esta acción es reconocida por el procesador de sentencias (parser), pero InnoDB rechaza definiciones de tablas que contengan ON DELETE SET DEFAULT u ON UPDATE SET DEFAULT.
http://dev.mysql.com/doc/refman/5.0/...nstraints.html
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 31/01/2013, 16:36
 
Fecha de Ingreso: abril-2012
Mensajes: 47
Antigüedad: 12 años
Puntos: 1
Respuesta: On delete restrict on update cascade,

Muchas Gracias !!!

Etiquetas: delete, tabla, update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:24.