Вы не можете так смешивать PHP и SQL. Либо сначала загрузите файл с помощью SQL, затем откройте его и измените его с помощью php, либо переместите логику преобразования в сам запрос SQL.
Очевидно, что второе решение более эффективно.
Если список конвертации небольшой, CASE
(или CTE) должен это сделать:
SELECT
column,
CASE
WHEN column2 = 'green' THEN 1
WHEN column2 = 'yellow' THEN 2
WHEN column2 = 'red' THEN 3
END column2
column3
INTO
OUTFILE '/path/to/file/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM yourtable
WHERE columnx = 'çondition';
Если вы имеете дело с большим списком конверсий, вы можете сохранить его в таблице базы данных. Скажем, ваша таблица преобразования называется yourconversiontable
и содержит столбцы old
и new
, затем:
SELECT
t.column,
c.new
t.column3
INTO
OUTFILE '/path/to/file/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM yourtable t
INNER JOIN yourconversiontable c ON t.column2 = c.old
WHERE t.columnx = 'çondition';