изменить тип поля VARCHAR на DATE

215
28 февраля 2018, 06:48

Два года назад была создана база, сейчас хочется ее немного привести в порядок.

Было неправильно выбрано (по неопытности) хранение даты в обычном varchar, запись идет туда в виде числа UNIXTIME.

Хочу изменить тип поля VARCHAR на DATE.

Можно ли сделать это быстро через сам mysql запрос в phpMyAdmin? Или придётся писать функцию, выбирать каждое поле, преобразовывать unix в YYYY-MM-DD, и записывать его обратно? А после этого уже менять тип?

Число строк около 3000.

Answer 1

Самый быстрый способ такой

  1. Создаете новый столбец типа TIMESTAMP/DATETIME
  2. Выполняете запрос

    UPDATE mytable SET new_col = FROM_UNIXTIME(old_col);
  3. Удаляете старый столбец
  4. Переименовываете новый столбец в старое имя
READ ALSO
Как хранить смайлики в MySQL?

Как хранить смайлики в MySQL?

При попытке загрузить смайлик в БД, пишет: "1366 (HY000): Incorrect string value: '\xF0\x9F\x98\x89' for column 'last_name' at row 1"

256
Обработка большого количества данных MySQL

Обработка большого количества данных MySQL

Здравствуйте, товарищи! Возникла следующая проблема: имеется две таблицы с большим количеством аналитических данныхВ одной таблице 5млн...

242
C# Замедление цикла

C# Замедление цикла

Возможно ли замедлить цикл так, что бы мы увидели например, как появляются новые цифры в консоле при пересчете массива(не спрашивайте зачем...

187