Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/02/2009, 19:05
The_Clansman
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: On delete cascade

Cita:
Iniciado por jfl_freak Ver Mensaje
Buena tarde foreros, tengo una consulta, yo ya tengo una base de datos creada y en produccion, pero ahora keria agregar la opcion ON DELETE CASCADE; eh visto en internet y me dice q se hace con un alter table y creando una foreing key, pero en mi caso ya esta creada, entonces no se como agregarsela si ya tengo mi foreing key, de antemano gracias por su ayuda ;

Saludos
mira supongamos que tienes la tabla factura y la tabla produco!! asi seria el codigo:

(Aqui agrego la llave foranea)
alter tabla factura add foreign key(cod_producto) references producto(cod_producto)
on update cascade on delete cascade;

lo q esta en negrita son tablas

Aqui te pongo otr ejemplo! es con la tabla hospital y hosp_espe
alter table hosp_espe add foreign key(id_hospital) references hospital(id_hospital)
on update cascade on delete no action;

alter table: para modificacion de tablas.
hosp_espe: tabla a la cual se le va hacer la modificaicon.
add: obvio para agregar jejeje.
foreign key: llave foranea
add foreign key(id_hospital): esta instruccion hace q el campo id_hospital se llave forane
references: palabra de sql la cual indica a que tabla se hace referencia la llave primaria
hospital(id_hospital): hospital es la tabla y el id_hospital es el campo.
on update: siempre se pone! sirve para actualizar: el update cuenta con las siguientes instrucciones:
cascade: se actualiza en cascada,
set null: no la he probado,
no action: ninguna accion,
restrict: tampoco la he usado! me supongo q es restringido
entonces la sentencia seria asi: on update cascade o on update no action

es igual al delelte, tiene las mismas funciones


Cualquier duda hazmela saber q estamos para ayudar!!

asi seria el codigo! bueno la interfaz q ocupo se llama el sqlyog! y me manda un error si solo quiero agregar la opcion del update o el delete. Si alquien del foro sabe como solo agregar eso en el query y no volviendo a crear la llave foranea q lo publique!! jejeje please

El sqlyog me dice q no puedo poner dichas opciones con alter table! que tengo que volver hacer la llave foranea!

Espero haberte ayudado! suerte!!

Última edición por The_Clansman; 05/02/2009 a las 19:14