Foros del Web » Programando para Internet » PHP »

Actualización y borrado en cascada

Estas en el tema de Actualización y borrado en cascada en el foro de PHP en Foros del Web. Hola, estoy buscando una forma de poder realizar update y delete on cascade en un tabla que ya tengo creada, sin tener que realizar otro ...
  #1 (permalink)  
Antiguo 17/07/2006, 05:32
 
Fecha de Ingreso: marzo-2006
Mensajes: 31
Antigüedad: 11 años, 9 meses
Puntos: 0
Actualización y borrado en cascada

Hola, estoy buscando una forma de poder realizar update y delete on cascade en un tabla que ya tengo creada, sin tener que realizar otro create y quisiera saber si eso se puede hacer desde phpmyadmin.

Un saludo.
  #2 (permalink)  
Antiguo 17/07/2006, 05:50
Avatar de Bartak  
Fecha de Ingreso: enero-2004
Ubicación: Chilito
Mensajes: 121
Antigüedad: 13 años, 10 meses
Puntos: 0
creo que desde la version 4.algo del mysql se puede trabajar con claves foraneas...

el tipo de tablas por defecto es myisam... para trabajar con claves foraneas tendras que pasar estas tablas a formato "Inno BD".

luego tendras que crear los indices correspondientes.

por ejemplo:

alumno(matricula, nombre,apellido) Pk:matricula como es Pk: ya es un indice

curso(grado,matricula) ambos son pk, en esta tabla deberas ir al link "Vista de relaciones" para enlazar matricula con la tabla alumno e indicar que cuando se actualice o borre en la tabla alumno, tambien lo haga en la tabla curso.

ahora no siempre la clave foranea(FK) es una PK en otra tabla, ahi tienes que indicar que esta FK es un indice... cuando quieres poner un atributo como PK lo haces en el icono con la llave... ahora cuando quieres convertir un atributo en indice vas al icono de al lado que es un "rayo".

como te decia, si la FK es primaria ya es un indice y puedes hacer los enlaces, si no es PK tienes que ponerla como indice para hacer los enlaces en "Vista de relaciones".

ojala me halla expresado bien y que pueda ayudar en algo.

saludos
__________________
"Llegado el momento supervisare my propia caida" - Alvaro Henriquez
  #3 (permalink)  
Antiguo 17/07/2006, 09:22
 
Fecha de Ingreso: marzo-2006
Mensajes: 31
Antigüedad: 11 años, 9 meses
Puntos: 0
Gracias, lo que pasa es que el tipo "Inno BD" no me aparece para elegir en vez del "MyISAM", solo me aparecen "MEMORY", "ARCHIVE", "FEDERATED" y "MRG_MYISAM".

Saludos.
  #4 (permalink)  
Antiguo 17/07/2006, 09:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por pepe500
Gracias, lo que pasa es que el tipo "Inno BD" no me aparece para elegir en vez del "MyISAM", solo me aparecen "MEMORY", "ARCHIVE", "FEDERATED" y "MRG_MYISAM".

Saludos.
Pero que versión de Mysql usan tus servidores? (aunque soporte Inno DB está disponible desde 3.x versiones pero hay que "instalarlo" ...).

Si no tienes soporte de un tipo de BBDD que soporte transacciones (como InnoDB) no podrás automatizar con algún "GUI" genérico como es phpMyadminn u borrado de registros en cascada o en general validaciones de "integridad referencial" en forma automática si por ejemplo pretendes borrar un "nodo" que tenga "hijos" ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 17/07/2006, 09:39
 
Fecha de Ingreso: marzo-2006
Mensajes: 31
Antigüedad: 11 años, 9 meses
Puntos: 0
Tengo MySQL 5.0

Para instalar lo de InnoDB no lo tengo muy claro, no se si será con alguna de las descargas de este enlace:

http://dev.mysql.com/downloads/mysql/5.0.html

PD: Uso Ubuntu en una máquina x86
  #6 (permalink)  
Antiguo 17/07/2006, 10:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Por mi parte no te podría asegurar como es el procedimiento, creo que lo recomendable es mover tu mensaje al foro de "Base de datos" para que te orienten.

Pero, es cierto también que tendrías que revisar tu versión de phpMyadmin que usas .. (para que reconozco Mysql 5.x y así puedas aprovechar todas sus funcionalidades).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 09:40.