UNSIGNED
хранит только положительные числа (или ноль). С другой стороны, знаковый может хранить отрицательные числа (т. Е. Может иметь отрицательный знак ).
Вот таблица диапазонов значений, которые INTEGER
может хранить каждый тип:
Источник: http://dev.mysql.com/doc/refman/5.6/en/integer-types.html
UNSIGNED
варьируется от 0
до n
, а со знаком - от примерно -n/2
до n/2
.
В этом случае у вас есть AUTO_INCREMENT
столбец идентификатора, поэтому у вас не будет негативов. Таким образом, используйте UNSIGNED
. Если вы не используете UNSIGNED
для AUTO_INCREMENT
столбца, ваше максимально возможное значение будет вдвое меньше (а отрицательная половина диапазона значений останется неиспользованной).