Эквивалент SET с LOAD DATA INFILE для MySQL 4.1?
Я бы использовал LOAD DATA INFILE, чтобы загрузить файл.txt.
Файл содержит данные только для некоторых столбцов, поэтому я хотел бы использовать SET, чтобы указать значение одного из столбцов, не включенных в файл.
Вот синтаксис, который я бы использовал:
LOAD DATA LOCAL INFILE 'file.txt'
INTO TABLE some_table
FIELDS TERMINATED BY ','
(column1, column2, column3)
SET column4 = 100
Проблема в том, что SET - это только опция в MySQL 5.0; к сожалению, я застрял с использованием MySQL 4.1.
Есть ли эквивалентный способ сделать это, используя v. 4.1?
1 ответ
Решение
Слишком долго для комментария, поэтому постить как ответ.
Мне никогда не приходилось работать с версиями до 5.0, поэтому просто спрашиваю, пытались ли вы
LOAD DATA LOCAL INFILE 'file.txt'
INTO TABLE some_table
FIELDS TERMINATED BY ','
(column1, column2, column3, 400)
или пропустите column4
LOAD DATA LOCAL INFILE 'file.txt'
INTO TABLE some_table
FIELDS TERMINATED BY ','
(column1, column2, column3)
а потом
UPDATE some_table SET column4 = 400;
? Column4 должен иметь значение по умолчанию для этого. Если это не так, вы можете легко добавить один с ALTER TABLE
заявление.