MySQL пустая проблема? - PullRequest
       10

MySQL пустая проблема?

0 голосов
/ 04 января 2011

Я использую команду LOAD DATA INTO для чтения данных из текстового файла в мою базу данных. В моем вводе, я должен принимать символы «-» как ноль (не строка ноль). Например, ввод

стек - переполнение

должно быть

1-й столбец = стек 2-й столбец = ноль 3-й столбец = переполнение.

Как я могу это сделать ??

1 Ответ

2 голосов
/ 04 января 2011

Простой подход заключается в том, чтобы сначала использовать LOAD DATA без каких-либо преобразований, а затем запустить некоторые обновления, чтобы исправить значения, которые вы хотите изменить:

UPDATE yourtable
SET col1 = NULL
WHERE col1 = '-'

Синтаксис LOAD DATAтакже позволяет вам указать преобразования ваших данных:

[SET col_name = expr, ...]

Список столбцов может содержать либо имена столбцов, либо переменные пользователя.С пользовательскими переменными предложение SET позволяет выполнять преобразования их значений перед назначением результата столбцам.

Примером может быть:

LOAD DATA INFILE 'file.txt'
INTO TABLE t1
(column1, @var1)
SET column2 = CASE WHEN @var1 = '-' THEN NULL ELSE @var1 END;
...