Эквивалент 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 заявление.

Другие вопросы по тегам