MariaDB ЗАГРУЗИТЬ ДАННЫЙ ИНФИЛЬ для пустого поля ДАТА - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь загрузить файл tsv в таблицу mariadb.Одним из полей является ДАТА, которая может быть обнуляемой.Исходя из того, что я собираю, загрузка данных infile использует «\ N» для определения нулевого содержимого, но в этом случае ничего не стоит:

ERROR 1292 (22007) at line 1: Incorrect date value: '\N' for column 'delete_date' at row 1       

Любые идеи, как я могу импортировать эти данные без написания конкретных CASE WHEN дляИмпортировать?Это часть скрипта, которая загружает несколько таблиц, поэтому я не хочу рассматривать это как особый случай.

Оставлять поле пустым, конечно, тоже ошибка:

ERROR 1292 (22007): Incorrect date value: '' for column 'delete_date' at row 1

Я предполагаю, что можно импортировать нулевые значения для дат, поэтому я должен что-то упустить.

1 Ответ

0 голосов
/ 20 февраля 2019

взято из базы знаний mariadb

Эта ошибка выдается, когда системная переменная сервера sql_mode установлена ​​в режим strict.Если он не установлен, вы можете ввести пустую дату - будет сгенерировано предупреждение, и будет вставлено «0000-00-00».

Если вы можете установить строгий режим off на время импорта,это должно работать, в противном случае вам нужно заменить пустые столбцы даты в CSV на NULL или «0000-00-00».

...