2017-02-19 29 views
1

Пытается импортировать данные из csv в базу данных Mysql с помощью mysql Workbench Table Data Import Wizard. Csv содержит поле dattime в формате dd/mm/yyyy hh: mm: ss (например, 28/01/2017 10:55:00 PM). Если я по умолчанию по умолчанию, то workbench рассматривает datetime как тип данных TEXT и успешно импортирует данные. Однако, если я изменил тип данных на «DATETIME», импорт завершится с «0 импортированными записями».MySql Workbench csv Импорт Datetime DATATYPE как ТЕКСТ

ответ

1

Формат datetime для базы данных mysql: ГГГГ-ММ-ДД ЧЧ: MM: SS ... Ознакомьтесь с приведенной ниже документацией. Надеюсь, что это помогает ..... https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwjIyOHXvJvSAhWGtY8KHcsSB8MQFggdMAE&url=https%3A%2F%2Fdev.mysql.com%2Fdoc%2Fen%2Fdatetime.html&usg=AFQjCNGc5DXXoRcxKpV46ARaMvjZVVL4ZA&sig2=kBy0FVFl_4feRkkfiPyoeg

0

Даты в формате dd/mm/yyyy не являются стандартными, поэтому MySQL обрабатывает его как текст. И заставить его загружать такие данные, как datetime, также неверно.

Эта проблема хорошо подходит для LOAD DATA вместе с функцией STR_TO_DATE(), чтобы преобразовать строки даты в соответствующие сроки:

LOAD DATA INFILE 'input.csv' 
INTO TABLE t1 
FIELDS TERMINATED BY ',' 
(column1, @var1, column3, ...) 
SET column2 = STR_TO_DATE(@var1,'%d/%m/%Y %h:%i:%s %p') 

выше LOAD DATA было бы целесообразно, если второй столбец в файле CSV содержатся данные о дате , Если нет, то просто перестройте его так, чтобы правильный столбец разбирался.