vovanium
Новичок
Глюк с SELECT ... OUTFILE
Никто не сталкивался? Почему-то в MySQL 5.1.39 (win x64), не экранирует спец. символы.
Для повторения
[sql]CREATE TABLE `test` (
`id` TINYINT(2) NOT NULL DEFAULT '0',
`txt` VARCHAR(50) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
)
ENGINE=MyISAM;
INSERT INTO test VALUES(1, 'line1\r\nline\t2\r\nline3');
SELECT * INTO OUTFILE 'g:/temp.sql' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test
[/sql]
В результате получается файл
Вроде раньше нормально экранировались спец.символы, а сейчас добавляет бэкслэш перед переводами строк, но сами переводы строк остаются.
Добавление ESCAPED BY '\\' даёт тот же эффект.
-~{}~ 02.11.09 14:48:
Так что никто не сталкивался? Затестите если не сложно у себя
-~{}~ 28.11.09 03:50:
Так что никто не сталкивался? Затестите если не сложно у себя
Никто не сталкивался? Почему-то в MySQL 5.1.39 (win x64), не экранирует спец. символы.
Для повторения
[sql]CREATE TABLE `test` (
`id` TINYINT(2) NOT NULL DEFAULT '0',
`txt` VARCHAR(50) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
)
ENGINE=MyISAM;
INSERT INTO test VALUES(1, 'line1\r\nline\t2\r\nline3');
SELECT * INTO OUTFILE 'g:/temp.sql' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test
[/sql]
В результате получается файл
Код:
1,"line1
\
line 2
\
line3"
Добавление ESCAPED BY '\\' даёт тот же эффект.
-~{}~ 02.11.09 14:48:
Так что никто не сталкивался? Затестите если не сложно у себя
-~{}~ 28.11.09 03:50:
Так что никто не сталкивался? Затестите если не сложно у себя