Почему год MySQL вводит, ограничивают диапазон допустимых лет между 1901 и 2155?
Предположительно, если вы храните более поздние даты, вам никогда не понадобится более 256 возможных значений года, что точно поместится в один байт. Это экономит вам значительное количество места: вместо того, чтобы использовать несколько байт для хранения целого числа 1901, 1900 лет которого во многих случаях можно считать лишними, MySQL внутренне рассматривает его как просто число 1, и отображает его в 1901 для вашего удобства.
Если вам нужно больше лет, используйте тип на основе INT.
Год является однобайтовым. Один байт = 256 значений. Вероятно, сделано так, потому что большинство дат будут находиться в этом диапазоне, что позволяет сэкономить байты ...
Вы можете использовать строку для более старых дат.
Чтобы уместить значение в один байт. Выбор 1901-2155 является произвольным, но тот факт, что он поддерживает значения размером в 1 байт, не является таковым.