Cita:
Iniciado por jfl_freak 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!!