2010-03-24 19 views
11

He estado jugando con mysqlimport y he encontrado la restricción donde el nombre del archivo tiene que ser el mismo que el nombre de la tabla. ¿Hay alguna forma de solucionar esto?Usando mysqlimport donde el nombre del archivo es diferente al nombre de la tabla

No puedo cambiar el nombre del archivo como lo utilizan otros procesos y no quiero copiar el archivo, ya que habrá muchos, algunos de ellos muy grandes.

Quiero usar mysqlimport no LOAD INFILE.

EDITAR: Lamentablemente esto tiene que ejecutarse en Windows, así que no hay trucos con enlaces simbólicos me temo.

+0

¿Por qué no desea utilizar 'LOAD DATA INFILE', cuando es igual a lo que hace mysqlimport y le permite especificar un nombre de tabla diferente para un archivo de entrada dado? –

+0

Estoy usando Java/JDBC e invocar a LOAD INFILE no parece producir ningún error cuando hay un problema al cargar el archivo en algunas situaciones. Se muestran advertencias si lo ejecuta a través del Workbench, pero el controlador JDBC no me devuelve nada. –

+0

mysqlimport debería permitir que un parámetro establezca un nombre de tabla diferente, esta es una característica básica ... – baptx

Respuesta

0

¿Ha intentado utilizar el comando alias, suponiendo que se encuentre en un sistema Linux?

-1

Basta con crear un enlace simbólico:

ln -s /tmp/real_file.txt /tmp/your_table_name.txt 
11

Usted no ha dicho qué plataforma que se encuentra. En Unix se puede crear un enlace simbólico al archivo:

ln -s filename.txt tablename.txt 

A continuación, el uso que en el comando mysqlimport.

Pero mysqlimport es sólo una interfaz de línea de comandos para cargar INFILE por lo que también podría hacer esto en la línea de comandos:

mysql -e "load data infile 'filename' into table TBL_NAME" dbname 
+0

Miedo a estar en Windows. –

+0

aún puede usar mysql en Windows con la misma sintaxis ... el enlace simbólico de los archivos es una forma un poco extraña de hacerlo. –

-1

mysqlimport utiliza el nombre del archivo para determinar el nombre de la tabla en la que los datos deben ser cargado. El programa hace esto eliminando cualquier extensión de nombre de archivo (el último período y todo lo que le sigue); el resultado se usa luego como el nombre de la tabla. Por ejemplo, mysqlimport trata un archivo llamado City.txt o City.dat como entrada para ser cargado en una tabla llamada City.

Cuestiones relacionadas