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.