У меня проблема с импортом данных из csv в таблицу MySQL. Я пытаюсь использовать «Загрузить файл данных», но каждый раз, когда я пытаюсь запустить свой код, я получаю
"Error Code: 1265. Data Truncated for column 'DIP20' at row 237"
Проблема связана с тем, что столбец DIP20 в строке 237 является первой нулевой записью в CSV-файле, но мои исследования показывают, что нулевые записи должны считываться MySQL как 0. Это останавливает запуск всего импорта, и данные не попадают в мою таблицу. Я пытался найти способ заставить MySQL принимать значения Null, но ничего не нашел.
Другие потоки, которые я заметил в этой области, предлагали изменить исходные данные, чтобы поместить '\N' в каждый нуль, но это действительно нецелесообразно по нескольким причинам. Во-первых, у меня есть несколько террабайт данных для обработки, а во-вторых, я должен оставить эту базу данных другим людям, когда я закончу ее разработку, и ни у кого из них не будет времени, возможности или желания редактировать данные, когда будет получено больше данных. будущее.
Если бы кто-нибудь мог предложить способ запустить этот импорт, не падая на нули, я был бы очень признателен.
Код, который я пытаюсь запустить:
LOAD DATA INFILE '\\\\server\\path\\morepath\\file.csv'
INTO TABLE deidata.tbl_HHDataImport
FIELDS TERMINATED BY ',' ESCAPED BY '\\'
LINES TERMINATED BY '\r\n' STARTING BY ''
IGNORE 1 LINES
Структура таблицы следующая:
table tbl_HHDataImport
(
CNF_ID VARCHAR(10) PRIMARY KEY,
Read_date Datetime,
DIP1 float,
DIP2 float,
//...{48 DIP columns here}...
DIP47 float,
DIP48 float
)
(Это должна быть промежуточная таблица, из которой я буду преобразовывать данные в правильную реляционную структуру. Это формат данных, которые я получаю, и я не могу его изменить.)
Я привык разрабатывать базы данных в MS SQL Server, но в настоящее время я работаю в некоммерческой организации с небольшим дефицитом средств, поэтому меня попросили поработать с MySQL. Я думал, что справляюсь с этим, пока не столкнулся с этой проблемой. Я использую MySQL 5.6.13 и рабочее место MySQL 6.0.
заранее спасибо
Том