Я понимаю, что это может быть не прямой ответ на вопрос, но я считаю, что это наиболее полезной решение.
Я настоятельно рекомендую использовать тип данных DATETIME или TIMESTAMP для рассматриваемого столбца.
Если вы используете довольно текущую версию MySQL, MySQL сделает для вас работу.
:
Чтобы быть предельно ясным, начиная с 5.6.5, для обоих DATETIME типов данных TIMESTAMP &, вы можете сделать следующее:
- Установите значение DEFAULT текущего времени дата & (с использованием NOW() или один из его псевдонимов, таких как CURRENT_TIMESTAMP)
Это означает, что каждый время, в которое вы вставляете новую строку в эту таблицу, столбец TIMESTAMP или DATETIME с этим значением по умолчанию получает текущую дату и время
- Установите ограничение ON UPDATE, которое будет ОБНОВИТЬ столбец к текущей дате & время, когда (вы уже догадались) строка обновляется
Вот как:
Пример в CREATE TABLE заявление:
CREATE TABLE t1 (
ts1 DATETIME ON UPDATE CURRENT_TIMESTAMP
,ts2 DATETIME DEFAULT NOW()
);
Пожалуйста, обратите внимание, что DATETIME можно заменить TIMESTAMP для эффективного той же функциональности.
Кроме того, я предлагаю использовать тип данных DATETIME над TIMESTAMP, поскольку DATETIME имеет гораздо больший диапазон дат, которые он может поддерживать. Стоит отметить, что TIMESTAMP меньше для тех немногих случаев, которые имеют значение.
Для получения более подробной информации, пожалуйста, прочитайте мой ответ здесь: https://stackoverflow.com/a/26117532/1748266
Это должно быть то, что вы ищете ... http://stackoverflow.com/questions/168736/how-do-you-set- a-default-value-for-a-mysql-datetime-column –
Возможные дубликаты: http://stackoverflow.com/questions/3696778/create-table-fail-in-mysql-when-using-curdate-as-default , http://stackoverflow.com/questions/168736/how-do-you-set-a-default-value-for-a-mysql-datetime-column, http://stackoverflow.com/questions/5818423/set -now-as-default-value-for-datetime-datatype –