Как сделать phpMyAdmin импортировать datetime правильно из csv?
Мне предоставлен файл csv, который содержит экспорт таблицы клиентских баз данных. Два столбца - это даты, а в файле они отформатированы как mm/dd/yyyy.
ID | ActivateDate
-----------------
1 | 05/22/2010
2 | 10/01/2010
Наша база данных mySQL, которую мне нужно импортировать, содержит те столбцы, которые определены как datetime, со значением по умолчанию null. Когда я использую функцию импорта в phpMyAdmin, она устанавливает все столбцы даты в импортированных записях до 0000-00-00 00:00:00 независимо от того, есть ли какое-либо значение в файле импорта.
Может ли кто-нибудь сказать мне, что мне нужно сделать, чтобы столбец ActivateDate в базе данных был установлен в 2010-05-22 00:00:00 вместо 0000-00-00 00:00:00?
Ответы
Ответ 1
Если это вообще возможно, я сначала импортирую эти значения в столбце fake_column
varchar, а затем перетащите их в реальный столбец real_column
, используя STR_TO_DATE
.
UPDATE tablename SET real_column = STR_TO_DATE(fake_column, '%m/%d/%Y');
Справка о том, как построить строку формата
Ответ 2
Я просто мог это сделать, изменив поля даты на пользовательский формат yy-mm-dd. (FORMAT > CELLS > Custom > yy-mm-dd.
Мне пришлось сохранить его как XLS, но он смог напрямую импортировать его в таблицу с помощью PHPMyAdmin версии 3.3.10
Ответ 3
Если у вас есть файл в формате CSV, откройте его в excel.
- Щелкните правой кнопкой мыши заголовок столбца, который содержит даты.
- Выбрать формат ячеек
- Выберите категорию "Пользовательский"
- Вставьте "yyyy-mm-dd h: mm: ss" в поле ввода.
- Сохраните документ.
- Импорт в таблицу с помощью phpMyAdmin