Разница между подписанным и unsigned в MySQL?

В чем разница между подписанным и unsigned в MySQL? И что означает подписанное и неподписанное?

Ответы

Ответ 1

Неподписанные числа не имеют знака минус. Неподписанное число может быть только положительным или нулевым (например, 123, 0). Подписанные номера также могут быть отрицательными (например, -42).

Этот ответ объясняет разницу.

Ответ 2

Диапазон, который вы можете сохранить в заданном пространстве. Например, цитируя документы:

 TINYINT[(M)] [UNSIGNED] [ZEROFILL]

Очень маленькое целое число. Подписанный диапазон от -128 до 127. Беззнаковый диапазон равен От 0 до 255.

и, аналогично, для других больших целочисленных типов.

Ответ 3

Диапазон возможных значений, как показано на этой таблице.

Это не относится к MySQL, это следствие того, как целые числа представлены на компьютере. Знак берет один бит для себя, поэтому максимальное число (примерно) уменьшается вдвое. Вы также можете думать об этом как о переносе всего на половину диапазона вниз. (Кроме того, поскольку существует четное количество доступных номеров и нет двух нулей, вы получаете еще одно отрицательное число, чем положительное). Если вы хотите узнать больше, прочитайте два дополнения.