значение даты по умолчанию до 1970 года, недопустимое значение по умолчанию для - PullRequest
2 голосов
/ 30 августа 2011

Я получаю эту ошибку, когда пытаюсь установить значение по умолчанию для поля даты: Неверное значение по умолчанию для «созданного» * ​​1001 *

ALTER TABLE artwork CHANGE COLUMN created created TIMESTAMP NOT NULL DEFAULT '1954-09-18 00:00:00' AFTER updated;

Я пробовал каждый год и замечаю, что до 1970 года mysql отклонял дату. Я имею в виду, что это не большая проблема, мне действительно не нужна дата по умолчанию - 1954, если я хочу эту дату, то это в основном по символическим причинам.

Если предположить, что прямого решения моей проблемы не существует, тогда мой вопрос: почему mysql отклоняет даты по умолчанию до 1970 года?

Спасибо

Ответы [ 2 ]

3 голосов
/ 30 августа 2011

Я не знаком с mysql, но метки времени Unix (которые широко используются) - это количество секунд с 1970-01-01 00:00:00 GMT Если mysql использует этот формат для внутреннего использования, он, вероятно, не любит отметку времени с отрицательным значением.

EDIT:

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-type-overview.html:

TIMESTAMP

Метка времени. Диапазон значений: «1970-01-01 00:00:01» от UTC до «2038-01-19» 03:14:07 'UTC. Значения TIMESTAMP сохраняются как количество секунд начиная с эпохи ('1970-01-01 00:00:00' UTC). TIMESTAMP не может представляют значение '1970-01-01 00:00:00', потому что это эквивалентно до 0 секунд от эпохи и значение 0 зарезервировано для представляет «00:00:00» «нулевое» значение TIMESTAMP.

2 голосов
/ 30 августа 2011

Тип MySQL TIMESTAMP - это счетчик, представляющий Unix time .Это количество секунд с начала 1 января 1970 года. Почему оно подписано (максимальная дата в 2038 году - половина времени, которое было бы допустимо, если бы оно было без знака) и не разрешало даты вне 1970-2038 годовДиапазон за мной.См. Также документацию MySQL для этого типа столбца .

. Тип столбца DATETIME использует вдвое больше места (8 байт), но поддерживаемый диапазон - 1000-01-01 00:00.От 00 'до' 9999-12-31 23:59:59 '.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...