SuperMiQi Ответов: 1

Как исправить следующее значение временной метки по умолчанию в PHP/mysql ?


Привет,
Я пытаюсь ввести следующее значение по умолчанию и получаю в качестве возвращаемого кода ошибки: временная метка по умолчанию недопустима.

`registered_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'


Что я уже пробовал:

Затем я перешел на
'2013-06-23 05:09:12'
это старая дата, и это работает. Это может сказать мне, что пользователь еще не зарегистрирован.

Но было бы неплохо сделать его чище с помощью
'0000-00-00 00:00:00'
АФ попробовал сверху.

Я нашел эту команду:
mysql> SELECT @@sql_mode;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@sql_mode                                                                                                                                |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)


где я думаю эти два ключевых слова:
NO_ZERO_IN_DATE,NO_ZERO_DATE
вот в чем проблема.

Есть ли способ избавиться от него ? или я должен использовать другой подход ?

У кого-нибудь есть идея ?
Спасибо.

1 Ответов

Рейтинг:
0

phil.o

Пожалуйста, взгляните на Метка времени MySQL[^]:

То TIMESTAMP значение имеет диапазон от '1970-01-01 00:00:01' UTC к '2038-01-19 03:14:07' UTC.
Следовательно, '0000-00-00 00:00:00' выходит за пределы этого допустимого диапазона.

В качестве дальнейшего примечания существует страница, которая объясняет форматы даты и времени, которые вы можете использовать в MySQL:
11.3.1 типы даты, времени и меток времени[^]


Maciej Los

5ed!