Страница 1 из 1

timestamp и max integer

Добавлено: 2018.08.04, 11:42
Maxim Glushko
Задался вопросом, а какова максимальная величина timestamp, что суётся в mysql со знаком.
Оказалось - 19 Jan 2038. Легко могу дожить, если похудею. Вырисовалась проблема.
Если сделать int->unsigned - получится максимальное 07 Feb 2106. И проблема уже не столь близкая.
Лезу в php:
Размер integer зависит от платформы, хотя, как правило, максимальное значение примерно равно 2 миллиардам (это 32-битное знаковое). 64-битные платформы обычно имеют максимальное значение около 9E18, кроме Windows, которая всегда 32-битная. PHP не поддерживает беззнаковые целые (integer). С версии PHP 5.0.5 размер integer может быть определен с помощью константы PHP_INT_SIZE, а максимальное значение - с помощью константы PHP_INT_MAX. С версии PHP 7.0.0 так же введена константа PHP_INT_MIN, с помощью которого можно определить минимальное значение.
И у меня в OpenServer Винды, и на хостинге PHP_INT_MAX определяется как 9223372036854775807
Т.е. можно сделать в mysql поле беззнаковым и забыть, т.к. в php это значение никак не будет переполненным? Или всё же существуют хостинги, где в переменную php не поместится 4294967295? И поэтому бесполезно в mysql делать int беззнаковым?

Re: timestamp и max integer

Добавлено: 2018.08.04, 23:45
samdark
Обычно хостинги на 64 битных ОС.