Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/03/2015, 10:00
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: duplicate entry ´1403´ for key 'primary'

Cita:
Iniciado por noejb Ver Mensaje
Gracias MaNuX0218!!

No entiendo bien, te refieres a que devuelve error porque es posible que existan por ejemplo dos fechas iguales en el txt y al insertarlas en mysql produce el error?

Gracias!!
Vamos por partes: En esta sentencia hay al menos un error: estás confundiendo los apostrofos con los acentos agudos. Los primeros se usan para cadenas de texto, y los segundos para nombres de objetos de base de datos. No es lo mismo, y el resultado de esta consulta es impredecible:

Código MySQL:
Ver original
  1. LOAD DATA INFILE ´resultados.txt´
  2. INTO TABLE prueba
Esto debe escribirse así:
Código MySQL:
Ver original
  1. LOAD DATA INFILE 'resultados.txt'
  2. INTO TABLE prueba
Además estabas escapando mal los saltos de lína.
Por otro lado, los saltos de linea se escriben diferente si es un servidor Windows que en otros casos, por lo que te recomiendo ir al manual: http://dev.mysql.com/doc/refman/5.6/en/load-data.html

Fuera de ese detalle, debes recordar que:
1) Si usas sin indicar qué columnas cargará en la tabla, MySQL asume que hay una columna por cada una del archivo, y en el mismo orden que tienen en la tabla.
2) El archivo no debe tener una primera línea con los encabezados de columnas, es decir sólo debe contener datos.
3) Si hay una primera linea de nombres de columna, debe indicarse que se ignore la primera linea.
4) El final de cada linea debe ser un salto de linea como se indique. Si hay un separador de columnas esperará recibir una columna más, y eso puede generar un error de ejecución.
5) Muy importante: Todas las restricciones que existen definidas en la tabla operarán al instante de la carga, por lo que si no hay datos asignados a una columna que sea NOT NULL, se geeraará un error. Además, si una de las columnas tiene valores duplicados, y es PK, generará un fallo de ejecución también.

Ahora bien, suponiendo que en ese archivo no exista el ID autonumérico, entonces debes indicar qué columnas se están cargando, para dejar que MySQL genere el dato autonumerico:

Código MySQL:
Ver original
  1. LOAD DATA INFILE 'resultados.txt'
  2. INTO TABLE prueba(nombre, region)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)