как заставить phpMyAdmin правильно импортировать datetime из csv? - PullRequest
10 голосов
/ 15 сентября 2010

Мне предоставлен CSV-файл, который содержит экспорт таблицы базы данных клиента.Два столбца являются датами, и в файле они отформатированы как мм / дд / гггг.

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?

Ответы [ 3 ]

12 голосов
/ 15 сентября 2010

Если это вообще возможно, я сначала импортирую эти значения в столбец varchar fake_column, а затем помещаю их в реальный столбец real_column, используя STR_TO_DATE.

UPDATE tablename SET real_column = STR_TO_DATE(fake_column, '%m/%d/%Y');

Справочник по построению строки формата

7 голосов
/ 01 сентября 2011

Я только смог сделать это, изменив поля даты на Пользовательский формат yy-mm-dd. (ФОРМАТ> Ячейки> Пользовательские> гг-мм-дд.

Мне пришлось сохранить его как XLS, но я смог правильно импортировать его прямо в таблицу, используя PHPMyAdmin версии 3.3.10

4 голосов
/ 03 августа 2016

Если у вас есть файл в формате CSV, откройте его в Excel.

  1. Щелкните правой кнопкой мыши заголовок столбца, который содержит даты.
  2. Выберите ячейки формата
  3. Выберите категорию «Пользовательские»
  4. Вставьте «гггг-мм-дд ч: мм: сс» в поле ввода.
  5. Сохраните документ.
  6. Импорт втаблица с использованием phpMyAdmin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...