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столбца, ваше максимально возможное значение будет вдвое меньше (а отрицательная половина диапазона значений останется неиспользованной).