Что делать с предупреждениями об усеченных данных для столбца при импорте в CSV? - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь импортировать данные из текстового файла в таблицу в mysql-5.5.Вот код создания таблицы:

CREATE TABLE `price` (
`symbol` VARCHAR(20) NOT NULL,
`date` DATE NOT NULL,
`open` DOUBLE NULL DEFAULT NULL,
`high` DOUBLE NULL DEFAULT NULL,
`low` DOUBLE NULL DEFAULT NULL,
`close` DOUBLE NULL DEFAULT NULL,
`volume` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (`date`, `symbol`)
)
ENGINE=InnoDB
;

Вот код импорта.

INFILE 'c:/temp/DTB3.csv'
INTO TABLE price 
FIELDS TERMINATED BY ','
(symbol, date, @dummy, @dummy, close);

Вот несколько строк данных.

10,2019-01-30,1.00,1.00,50459.4301
10,2019-01-31,1.00,1.00,50477.9307
10,2019-02-01,1.00,1.00,50496.4382

Вотпример предупреждения:

Warning 1,265 Data truncated for column 'close' at row 12

Данные в итоговой таблице выглядят корректно.

enter image description here

Я пробовал double и float дляполя цены.

Почему я получаю эти предупреждения и что я могу с ними сделать?

Ответы [ 2 ]

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

В случае, если кто-нибудь еще наткнется на эту проблему, исправив запрос, добавив: LINES TERMINATED BY '\ r \ n' остановил предупреждения.Очевидно, MySQL пытался добавить возврат каретки в поле закрытия при импорте.

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

По-моему, вы объявили в своей таблице 7 столбцов, но указали данные только для 5.

Попробуйте добавить запятые для пропущенных (нулевых) полей в данных импорта, чтобы при импорте было ясно, что нетзначение для загрузки.

Как это:

10,2019-01-30,1.00,1.00,50459.4301,,
10,2019-01-30,1.00,1.00,50459.4301,,
10,2019-01-30,1.00,1.00,50459.4301,,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...