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

Mysql Modifica Valores por error

Estas en el tema de Mysql Modifica Valores por error en el foro de Mysql en Foros del Web. Saludos mis estimados, Tengo una base de datos con 68 tablas, de las cuales en una relacion tengo un problema. id_t1: ID (llave primaria) de ...
  #1 (permalink)  
Antiguo 12/02/2011, 14:19
Avatar de djcandido  
Fecha de Ingreso: junio-2009
Ubicación: San Salvador
Mensajes: 50
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Mysql Modifica Valores por error

Saludos mis estimados,
Tengo una base de datos con 68 tablas, de las cuales en una relacion tengo un problema.

id_t1:ID (llave primaria) de una tabla de historico "historico_trabajo"
id_t2:ID (llave foranea) de una tabla de catálogo "taller"
id_t3:ID (llave foranea) de una tabla principal "trabajador"

Código:
/*==============================================================*/
/* Table: INTERNO                                               */
/*==============================================================*/
create table trabajador
(
   ID_TRABAJADOR           int not null,
   ID_NIVEL_EDU         int not null,
   ID_ESTADO_CIVIL      int not null,
   ID_TIPO_DOCUMENTO    int,
   ID_PROFESION_OFICIO  int not null,
   ID_MUNICIPIO         int not null,
   NUMERO_DOCUMENTO     varchar(20),
   CONOCIDO_POR         varchar(200),
   DIRECCION_INTERNO    varchar(255),
   SEXO                 varchar(10) not null,
   FECHA_NAC            date not null,
   NOMBRE_PADRE         varchar(100) not null,
   NOMBRE_MADRE         varchar(100) not null,
   NOMBRE_CONYUGE       varchar(100),
   primary key (ID_INTERNO)
);


/*==============================================================*/
/* Table: historico_trabajo                             */
/*==============================================================*/
create table historico_trabajo
(
   ID_TRABAJO           int not null,
   ID_TALLER            int,
   ID_TRABAJADOR           int,
   primary key (ID_TRABAJO)
);


/*==============================================================*/
/* Table: TALLER                                                */
/*==============================================================*/
create table TALLER
(
   ID_TALLER            int not null,
   NOMBRE_TALLER        varchar(60) not null,
   primary key (ID_TALLER)
);
un dia ví lo siguiente:

select * from historico_trabajo

id_t1 | id_t2 | id_t3
....
00010 | 00012 | 00025
00011 | 00013 | 00025
00012 | 00017 | 00023
00013 | 00012 | 00022
....

al dia siguiente hice la misma consulta

select * from historico_trabajo

id_t1 | id_t2 | id_t3
......
00010 | 00012 | -8567987598
00011 | 00013 | -6589875266
00012 | 00017 | -2345484897
00013 | 00012 | -5865446546
.....



En la ultima consulta logré identificar quienes eran los ids erroneos, el caso es que un rato despues eran como 10 luego como 30 ahora son mas de 1000 registros los que tienen esos errores, eso me preocupa.

¿que puede ser?

EN GOOGLE no encontré informacion mas que solo "insertar negativos"
la version de mysql que utilio es la 5.0.15 está sobre un windows 2003 server.

yo me apego a que el sistema de archivos esta fallando en el server.

necesito su opinion por favor. gracias.
  #2 (permalink)  
Antiguo 12/02/2011, 17:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Mysql Modifica Valores por error

La base de datos no comete "errores", los errores son siempre de consultas más realizadas o inserciones erróneas. MySQL no hace nada pro sí mismo, por lo que si hay un error, lo cometió el programador (regla general de informática: la metida de pata siempre es de la inferfase silla-teclado).
La presencia de valores negativos tan altos suele ser indicador de desbordes de datos, los cuales sólo se pueden producir cuando una inserción contiene datos incorrectos. Vas a tener que debuggear todo el proceso de inserción para detectar en qué condiciones y en qué procesos se producen los errores.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: cortez, djcandido, elsalvador, flores, jaime, jeovanny
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 19:22.