ИНФАЙЛ ЗАГРУЗКИ ДАННЫХ MYSQL

Я использую LOAD DATA INFILE в mysql. В моем входном файле у меня есть символ «x», но я должен сохранить его в базе данных как NULL. Как мне это сделать?


person Alaattin KAYRAK    schedule 18.01.2011    source источник


Ответы (2)


load data infile... 
into table ...
fields terminated by...
lines terminated by ...
(
 @var...
)
set 
my_field = if(@var = 'x', null, @var);

Благодаря Пекке

person Alaattin KAYRAK    schedule 18.01.2011

person    schedule
comment
Это довольно полезно, но сначала присваивает x дате, а затем изменяется на null. Что нарушает правило, что дата не может быть "x" - person Alaattin KAYRAK; 18.01.2011
comment
хм ?? при загрузке он проверяет значение my_field. если это «x», он записывает ноль, в противном случае он записывает исходное значение. - person Jon Black; 18.01.2011
comment
о, это поле даты - было бы полезно, если бы вы упомянули об этом раньше! - person Jon Black; 18.01.2011