Что означает «unsigned» в MySQL и когда его использовать?

217

Что означает "unsigned" в MySQL и когда я должен его использовать?

Теги:
types

1 ответ

468
Лучший ответ

MySQL говорит:

Все целые типы могут иметь необязательный (нестандартный) атрибут UNSIGNED. Неподписанный тип может использоваться для разрешения только неотрицательные числа в столбцеили , когда вам нужен более высокий верхний числовой диапазон для столбца. Для Например, если столбец INT невозможен, размер диапазона столбцов равен но его конечные точки смещаются от -2147483648 и 2147483647 до 0 и 4294967295.

Когда я его использую?

Задайте себе этот вопрос: будет ли это поле когда-либо содержать отрицательное значение?
Если ответ отрицательный, вам нужен тип данных UNSIGNED.

Общей ошибкой является использование первичного ключа, который является автоматическим приращением INT, начинающимся с ноль, но тип SIGNED, в этом случае вы никогда не будете касаться какого-либо отрицательного чисел, и вы уменьшаете диапазон возможных id до половины.

  • 6
    значения, представляющие «размеры» вещей, такие как количество определенного товара в заказе или расстояние между двумя местоположениями, обычно будут без знака
  • 24
    Отличный ответ, кажется странным, что mysql не будет использовать по умолчанию целые числа без знака, когда они автоматически увеличивают тождества?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню