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

ERROR 1265 (01000): Data truncated for column 'Costo' at row 1

Estas en el tema de ERROR 1265 (01000): Data truncated for column 'Costo' at row 1 en el foro de Mysql en Foros del Web. Hola. Quisiera saber si me pueden ayudar con este error... Tengo una tabla con 6 campos nombre campo tipo y tamaño maneja nulos default Codigo_Art ...
  #1 (permalink)  
Antiguo 30/07/2008, 17:36
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 8 meses
Puntos: 0
ERROR 1265 (01000): Data truncated for column 'Costo' at row 1

Hola.

Quisiera saber si me pueden ayudar con este error...

Tengo una tabla con 6 campos

nombre campo tipo y tamaño maneja nulos default
Codigo_Art varchar(55) No
Descripcion varchar(75) No
Marca varchar(20) No
Costo float(10,6) Yes 0.000000
Unidad varchar(15) Yes NULL
Fecha_Baja date Yes NULL

El mensaje lo manda cuando ejecutamos el comando siguiente:

mysql> load data infile 'c://article.txt' into table articulo;

y los datos que tengo son en article.txt son:

***********************************
Codigo_Art Descripcion Marca Costo Unidad Fecha_Baja
004A ASPAS VENT 7 ASPAS CHEV FORD CHRYS ROMMS 150.425000
00500252 GRAPA DEFENSA POSTERIOR UNIVERSAL WURTH 11.910000
006 SEGURO ARA?A CHEV P30 MICRO RDA TRAS 00NAL 1.463000
007 ASPAS VENT UNIVERSAL FAN CLUTCH DER ROMEX 160.352500
007I ASPAS VENT FAN CLUTCH IZQUIERDO ROMEX 163.410000
00926-51600-N CU?A CIGUE?AL NISS TSURU II 0NISS 8.620000
010 TERMINAL GDE ZAPATA OJILLO 5/8 00NAL 4.680000
0101202111 GENERADOR VW SEDAN 1600 -94 BOSCH 625.432900
0101302111 GENERADOR VW SEDAN 1600 -94 =GEN2431 BOSCH 710.910000
01101 FARO HALOGENO POLIAUTO C/SURTIDOS 0AASA 36.520000
01104038 SACAR COMO: 1104038-NIKKO NIKKO 247.000000
01-1094 REGULADOR 90 AMPS FORD 2 TERM ENERG 40.808000
0120488191 ALTERNADOR CHEVY 1.4 1.6 70 AMP S AA BOSCH 1531.360000
0120488300 ALTERNADOR NISSAN TSURU I II 84 92 = 709706 BOSCH 1650.600000

*********************

Los datos estan separados por un tabulador.

Espero su respuesta y valiosa ayuda....

De antemano gracias...

salu2
  #2 (permalink)  
Antiguo 30/07/2008, 18:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ERROR 1265 (01000): Data truncated for column 'Costo' at row 1

En principio, la definición de la tabla no es demasiado clara, por lo que supongo que en realidad sería algo así (dime si me equivoco):
Código:
CREATE TABLE ARTICLE(
  Codigo_Art VARCHAR(55) NOT NULL, 
  Descripcion VARCHAR(75) NOT NULL, 
  Marca VARCHAR(20) NOT NULL, 
  Costo FLOAT(10,6) NULL DEFAULT '0.000000', 
  Unidad VARCHAR(15) NULL, 
  Fecha_Baja DATE NULL );
En segundo lugar la tabla de datos (article.txt) que has puesto de muestra ha cambiado las tabulaciones por espacios simples, por lo que no es posible saber un detalle muy importante: ¿Hay valores nulos en los registros?
Pregunto porque sin saber exactamente qué es lo que está abarcando cada campo y sin saber tampoco si están presentes las tabulaciones vacías donde debería haber un valor NULL, no puedo percibir con certeza si el error es de copiado o del archivo.

Finalmente, el error simplemente te está diciendo que un valor al menos que MySQL intenta almacenar en el campo "COSTO" está excediendo la longitud declarada (000.000000). Como ninguno de los valores parece excederse del modelo, es posible que en realidad esté intentando cargar otra cosa en ese campo... un VARCHAR, por ejemplo.
Esto suele suceder en algunas ocasiones porque el uso de la sentencia LOAD DATA INFILE no ha sido escrita correctamente, ya que MySQL espera para es uso simple que la estructura del archivo plano tenga el formato de descarga de MySQL. Acá te pongo un ejemplo de lo que habría haciendo SELECT ... INTO OUTFILE:
Código:
1	1	DETALLE EVENTO 1	255	CARTEL 12	CARTEL 22	0025
1	2	DETALLE EVENTO 1	255	CARTEL 12	CARTEL 22	0047
1	3	DETALLE EVENTO 1	255	CARTEL 12	CARTEL 22	009
En caso de faltarle algún dato, debería haber dos tabulaciones continuadas. Pero el problema es también qué caracteres debe esperar MySQL como fin de registro. Puede que haga falta definir con más precisión cómo está compuesto el archivo.

Para el caso te recomiendo que mires esta página, donde el tema de la importaciones con LOAD DATA INFILE está bien explicado: MySQL con clase.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 23:37.