Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-02-2005
albarchi albarchi is offline
Miembro
 
Registrado: feb 2005
Posts: 13
Poder: 0
albarchi Va por buen camino
Problema con load data

Hola

1º os cuento:

Cargo los datos de una tabla con la sentencia:
Cita:
load data
infile 'datos.txt'
into table ciclista
fields terminated by ';'
(dorsal,nombre,edad,nomeq)
El contenido de datos.txt:
Cita:
1;Miguel Induráin;32;Banesto
2;Pedro Delgado;35;Banesto
3;Alex Zulle;27;ONCE
4;Tony Rominger;30;Mapei-Clas
5;Gert-Jan Theunisse;32;TVM
Hasta aqui ningun problema, lo que pasa es que cuando hago una consulta tipo:
Cita:
SELECT *
FROM `ciclista`
WHERE nomeq = 'Banesto';
Me tendria que aparecer los de Banesto, pero no me aparece ninguna tupla, solo NULL

Y si os fijais en la imagen de la tabla, la ultima columna tiene un simbolo raro al final (la ves), hay esta el error que cuando cargo la tabla me mete ese caracter que no se lo que es.



Cita:
¿Alguien me puede explicar pq me mete ese caracter?
¿Que podria hacer para que no lo cargue?
Gracias de ante mano y Salu2
Responder Con Cita
  #2  
Antiguo 09-02-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Muy posiblemente el caracter que ves corresponde al retorno de carro. Según explica el manual de MySql, si el archivo de texto lo generas en un sistema Windows, debes especificarle a MySql que las líneas están terminadas por dos caracteres: \r\n (retorno de carro y línea nueva) ya que de lo contrario asume que- como en Unix -las líneas terminan con sólo \n y toma \r como parte del campo.

En tu consulta, después de FIELDS TERMINATED BY ';' pon

LINES TERMINATED BY '\r\n'

Para más detalles consulta el manual.

// Saludos
Responder Con Cita
  #3  
Antiguo 09-02-2005
albarchi albarchi is offline
Miembro
 
Registrado: feb 2005
Posts: 13
Poder: 0
albarchi Va por buen camino
muchisimas gracias

Lo acabo de probar y tienes toda la razon, gracias de verdad.

Para ver si lo entiendo, lo que me has dixo que ponga:
LINES TERMINATED BY '\r\n'

Le dice al servidor que cada tupla acaba con retorno de carro , nueva linea.

Otras cosillas relacionadas:

La siguiente consulta:
Cita:
load data
infile *
into table ciclista
fields terminated by ';'
(dorsal,nombre,edad,nomeq)
begindata
1;Miguel Induráin;32;Banesto
2;Pedro Delgado;35;Banesto
3;Alex Zulle;27;ONCE
4;Tony Rominger;30;Mapei-Clas
Que es exactamente igual que la anterior, solo que en este caso le indico los datos a introducir en la misma consulta en vez de darle el archivo.

Pues da error de sintaxis:
Cita:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '* into table ciclista fields terminated by ';' (dorsal,nombre,e
Y no tengo ni idea de donde esta el error, es mas creo que no lo hay.
¿Sabeis pq me da el error?

Gracias y SAlu2
Responder Con Cita
  #4  
Antiguo 09-02-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No pues, en esto último me dejas frío. No tengo ni idea de que es eso de begindata ni había oído jamás hablar de ello ni lo encuentro en el manual y por si fuera poco ni siquiera me suena lógico: si no se usa un archivo ¿qué sentido tiene infile?

¿Estamos hablando de MySql?

// Saludos
Responder Con Cita
  #5  
Antiguo 10-02-2005
albarchi albarchi is offline
Miembro
 
Registrado: feb 2005
Posts: 13
Poder: 0
albarchi Va por buen camino
Hola (Perdona por tardar tanto en responderte)

Pues esta consulta funciona con Oracle 9 perfectamente. Pero como bien dices en el manual de MYSQL no aparece nada de begindata.
Supongo que con MySQL es imprescidible expecificar un archivo en infile.

¿Lo que no entiendo es eso, pq segun que motor de BDD funcionan unas consultas y otras no?

¿Que diferencias hay entre Oracle y MySQL?

¿El manual de MySQL hay alguna manera de conseguirlo en castellano?

Gracias y Salu2
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:35:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi