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

Importar informacion a mysql

Estas en el tema de Importar informacion a mysql en el foro de Mysql en Foros del Web. Hola tengo el siguiente problema: Estoy utilizando Mysql Workbench desde la consola de comandos para ejecutar queries estoy tirando el siguiente query: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 18/12/2012, 15:50
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 4
Importar informacion a mysql

Hola tengo el siguiente problema:

Estoy utilizando Mysql Workbench desde la consola de comandos para ejecutar queries estoy tirando el siguiente query:
Código MySQL:
Ver original
  1. load data infile 'C:/Users/Desktop/ejemplo.csv' into table registroinsumos
La tabla registroinsumos tengo los siguientes campos:

idRegistroInsumos llave primaria autoincrementable.
idInsumos integer
cantidad integer
fechaIngreso Date
numeroSerie varchar

En el archivo que estoy subiendo lo tengo de la siguiente manera:
10,5999,2012-12-21,1a2b3c4d
que corresponden a los campos
idInsumos,cantidad,fechaIngreso,numeroSerie y el campo idRegistroInsumos pues lo dejo solo por que se va autoincrementar de manera automática, sin embargo al ejecutar el query me arroja el siguiente error:


Cita:
Error Code: 1265. Data truncated for column 'cantidad' at row 1
Por lo que imagino el 10 lo quiere insertar en el campo idRegistroInsumos que es el primero pero como ya existe ese id pues me arroja este error, lo que quiero es insertar un archivo como este pero que no confunda el campo idRegistroInsumos con el primer valor que estoy poniendo en el archivo .CSV

Espero haber dado a explicar, quedo al pendiente de sus comentarios.

Saludos

Última edición por gnzsoloyo; 18/12/2012 a las 17:18 Razón: Bloques mal etiquetados.
  #2 (permalink)  
Antiguo 18/12/2012, 17:23
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: Importar informacion a mysql

Tienes dos problemas:
- Si el .CSV no contiene TODOS los campos, entonces no puedes cargar directamente un
Código MySQL:
Ver original
  1. LOAD DATA INFILE ... INTO TABLE tabla...
tienes que indicar qué campos se cargarán en esa tabla
Código MySQL:
Ver original
  1. LOAD DATA INFILE ... INTO TABLE tabla(campo1, campo2, ...)
Porque MySQL leerá cada línea del CSV como un registro, y espera encontrar valores para todos los campos de la tabla, y no los pones.
El segndo problema es que la fecha está mal almacenada en el CSV. Para que MySQL la tome correctamente y la asigne a un campo de tipo DATE, debe forzosamente estar entre apóstrofes, a fin de que MySQL lo pueda convertir en fecha.
Eso tienes dos formas de hacerlo: 1) Si tu manejas la generación de los CSV, entonces debes hacer que los valores queden entre comillas o apóstrofes. 2) Editarlo como texto y ponerle lo que le falta.
Hay una tercera posibilidad, pero es algo más elaborada.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/12/2012, 10:57
 
Fecha de Ingreso: agosto-2011
Ubicación: d.f
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Importar informacion a mysql

Hola gnzsoloyo gracias por responder ya implemente lo que me comentas y me marca error en esta parte de FIELDS me lo subraya con rojo y me muestra error al ejecutar el query:

Código MySQL:
Ver original
  1. LOAD DATA INFILE 'C:/Users/Abner/Desktop/ejemplo.csv' INTO TABLE registroinsumos (idInsumos,cantidad,fechaIngreso,numeroSerie)
cuando quito esta parte:

Código MySQL:
Ver original
  1. (idInsumos,cantidad,fechaIngreso,numeroSerie)
Me quita el error entonces me imagino que el error es en los campos.

Última edición por gnzsoloyo; 19/12/2012 a las 12:40 Razón: Código MySQL mal etiquetado. Usar Highlight "MySQL"
  #4 (permalink)  
Antiguo 19/12/2012, 11:11
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: Importar informacion a mysql

Fíjate en el manual de referencia, para leer cómo es exactamente la sintaxis.
LOAD DATA INFILE.
El caso sería:
Código MySQL:
Ver original
  1. LOAD DATA INFILE 'C:/Users/Abner/Desktop/ejemplo.csv'
  2. INTO TABLE registroinsumos
  3. (idInsumos,cantidad,fechaIngreso,numeroSerie)
  4. ;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 19/12/2012 a las 12:44

Etiquetas: informacion, sql, tabla, campos
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 22:05.