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

problema actualizacion clave primaria

Estas en el tema de problema actualizacion clave primaria en el foro de Mysql en Foros del Web. buenos dias. les comento un problema que poseo, debido a la mala realizacion a la estructura de la base de datos. yo necesito actualizar en ...
  #1 (permalink)  
Antiguo 02/06/2008, 14:39
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 3 meses
Puntos: 1
problema actualizacion clave primaria

buenos dias. les comento un problema que poseo, debido a la mala realizacion a la estructura de la base de datos.

yo necesito actualizar en una tabla una clave primaria el problema surge en que la misma es foreign key de otras, por ejemplo

tabla personal: cedula, nombre, apellido

tabla solicitud_vacaciones: cedula y otros campos

siendo solicitud_vacaciones.cedula que hace referencia a personal.cedula

si yo deseara actualizar la cedula, porque inicialmente se tipeo en forma erronea

si la actualizo en personal lanza una excepcion puesto que la cedula en solicitud_vacaciones no coincidiria, e igual ocurre en caso contrario.

yo se que lo correcto seria que existiera un identificador y que no fuera la cedula, pero como la bd esta asi construida, pues asi toca acomodarlo.

Posibles soluciones?

Gracias...
  #2 (permalink)  
Antiguo 03/06/2008, 03:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: problema actualizacion clave primaria

Activar la actualización en cascada, luego si actualizas en la tabla principal (personal) se actualizaran las fK referenciadas....

15.6.4. Restricciones (constraints) FOREIGN KEY

Cita:

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.

Seria conveniente que los formularios de entrada de la cedula la validaran antes de introducirla a la base de datos, normalmente tienen digitos de control (la letra) y facilmente encontraras rutinas que calculan el DC a partir del numero, con esto te ahorraras muchos errores puesto que si al entrar el numero la letra calculada no coincide con la del documento tendras un error en el numero introducido...

Quim
  #3 (permalink)  
Antiguo 03/06/2008, 07:17
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: problema actualizacion clave primaria

thank you so much!!!
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 06:10.