Подтвердить что ты не робот

Использование mysqlimport, где имя файла отличается от имени таблицы

Я играл с mysqlimport, и я столкнулся с ограничением, когда имя файла должно совпадать с именем таблицы. Есть ли способ обойти это?

Я не могу переименовать файл, поскольку он используется другими процессами, и я не хочу копировать файл, поскольку их будет много, некоторые из которых очень большие.

Я хочу использовать mysqlimport, а не LOAD INFILE.

EDIT: К сожалению, это нужно запускать на окнах, поэтому никаких трюков с символическими ссылками, которых я боюсь.

4b9b3361

Ответ 1

Вы не сказали, на какой платформе вы находитесь. В unix вы можете создать символическую ссылку на файл:

ln -s filename.txt tablename.txt

Затем используйте это в команде mysqlimport.

Но mysqlimport - это просто интерфейс командной строки для LOAD INFILE, поэтому вы также можете сделать это в командной строке:

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

Ответ 2

Пробовали ли вы использовать команду alias, если вы находитесь в системе Linux?

Ответ 3

Просто создайте символическую ссылку:

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

Ответ 4

mysqlimport использует имя файла для определения имени таблицы, в которую должны быть загружены данные. Программа делает это, удаляя любое расширение имени файла (последний период и все, что следует за ним); результат затем используется как имя таблицы. Например, mysqlimport обрабатывает файл с именем City.txt или City.dat в качестве ввода для загрузки в таблицу с именем City.