Что означает "unsigned" в MySQL и когда я должен его использовать?
Что означает "unsigned" в MySQL и когда его использовать?
Ответ 1
MySQL говорит:
Все целые типы могут иметь необязательный (нестандартный) атрибут UNSIGNED. Неподписанный тип может использоваться для разрешения только неотрицательные числа в столбцеили , когда вам нужен более высокий верхний числовой диапазон для столбца. Для Например, если столбец INT невозможен, размер диапазона столбцов равен но его конечные точки смещаются от -2147483648 и 2147483647 до 0 и 4294967295.
Когда я его использую?
Задайте себе этот вопрос: будет ли это поле когда-либо содержать отрицательное значение?
Если ответ отрицательный, вам нужен тип данных UNSIGNED
.
Общей ошибкой является использование первичного ключа, который является автоматическим приращением INT
, начинающимся с ноль, но тип SIGNED
, в этом случае вы никогда не будете касаться какого-либо отрицательного чисел, и вы уменьшаете диапазон возможных id до половины.