Использование mysqlimport, где имя файла отличается от имени таблицы
Я играл с mysqlimport, и я столкнулся с ограничением, когда имя файла должно совпадать с именем таблицы. Есть ли способ обойти это?
Я не могу переименовать файл, поскольку он используется другими процессами, и я не хочу копировать файл, поскольку их будет много, некоторые из которых очень большие.
Я хочу использовать mysqlimport, а не LOAD INFILE.
EDIT: К сожалению, это нужно запускать на окнах, поэтому никаких трюков с символическими ссылками, которых я боюсь.
Ответы
Ответ 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.