2012-02-14 3 views
2

Когда я импортирую файл csv в MySQL (phpmyadmin), для всех целочисленных значений, которые не указаны в файле, но имеют значение по умолчанию null, появляется сообщение об ошибке: #1366 - Incorrect integer value: '' for column 'id' at row 1.. У меня есть следующие вопросы:Импорт CSV-файла с нулевыми значениями в phpmyadmin

a. Как импортировать файл csv, у которого не указан идентификатор строки, если таблица DB имеет этот идентификатор, определяемый как автоматическое увеличение?

b. Что мне нужно в файле csv или в спецификации столбца таблицы в phpmyadmin для целочисленного столбца, который имеет значение по умолчанию null?

Ниже приведены примеры строк из файла csv.

id,year,month,date,day,description,ranking 
,,3,1,,, 
,,3,2,,, 
,,3,3,,, 
,,3,4,,, 
,,3,5,,, 
,,3,6,,, 
,,3,7,,, 
,,3,7,,"Saints Perpetua and Felicity, Martyrs", 
,,3,8,,, 
,,3,8,,"Saint John of God, Religious", 
,,3,9,,, 
,,3,9,,"Saint Frances of Rome, Religious", 
,,3,10,,, 

Столбцы, вызывающие ошибку, - это идентификатор, год, рейтинг. Они представляют собой целые столбцы. Идентификатор столбца является автоматическим приращением. Другими столбцами являются INT (11) со значением по умолчанию NULL. Благодарю.

ответ

1

В CSV нет понятия «Нули». Нельзя различать поле, которое является нулевым, и поле с законно пустым значением (например, пустая строка). Вам придется массировать строки при их загрузке до вставки запроса, чтобы заменить любые «пустые строки» соответствующими нулями

, например.

+1

Я добавил NULL для каждого пустого поля в csv, и это сработало. – user823527

Смежные вопросы