Відповіді:
MySQL говорить:
Усі цілі типи можуть мати необов'язковий (нестандартний) атрибут UNSIGNED. Непідписаний тип може використовуватися для дозволу лише невід'ємних чисел у стовпці або коли вам потрібен більший верхній числовий діапазон для стовпця. Наприклад, якщо колонка INT не визначена, розмір діапазону стовпця однаковий, але його кінцеві точки зміщуються від -2147483648 та 2147483647 до 0 та 4294967295.
Коли я ним користуюся?
Задайте собі це запитання: чи буде це поле коли-небудь містити негативне значення ?
Якщо відповідь "ні", вам потрібно UNSIGNEDтип даних.
Поширена помилка полягає у використанні первинного ключа, який є автоматичним збільшенням, INTпочинаючи з нуля , але тип - SIGNEDу такому випадку ви ніколи не торкаєтесь жодного від’ємного числа, і ви скорочуєте діапазон можливих ідентифікаторів до половини.
positiveатрибут, оскільки, здається, ще більш поширеним є те, що ви хочете працювати лише з позитивними нульовими числами.