Как предсказать / рассчитать длину поля числовых значений (INT) в MySQL? - PullRequest
1 голос
/ 05 февраля 2010

В phpmyadmin есть длина поля, которую вы можете указать, обычно она равна 11 для INT, если ничего не указано.

  Field Name: ID
  Field Type: INT(11) // This is what I need to figure out!

Как я могу рассчитать длину и что на самом деле означает длина? Значит ли это, сколько цифр? Б

А при чем тут неподписанные и подписанные?

Спасибо

Ответы [ 3 ]

1 голос
/ 05 февраля 2010

Тип поля (TINYINT, MEDIUMINT, INT и т. Д.) Определяет максимальный размер целого числа, которое вы можете поместить в такое поле. Без знака означает, что вы хотите хранить только цифры больше нуля. Вот справочная таблица для числовых типов в MySQL и их ограничений: MySQL Manual - Числовые типы .

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

Число в скобках - это число, которое используется, если вы указываете ZEROFILL в поле - это полезно, если вам нужно, чтобы ваши числа были дополнены нулями до определенной длины. Например, если вы создадите новое поле как INT(5) ZEROFILL, оно будет отображать цифры для вас как

00001
00002
00003
etc.

, но диапазон по-прежнему будет от -2147483648 до 2147483648. Число в скобках будет игнорироваться, если вы не укажете ZEROFILL при определении поля.

0 голосов
/ 05 февраля 2010

Длина поля - это чистая длина символа, int (11) может хранить одиннадцать цифр (например, 11,111,111,111).

Подпись означает, что целое число может иметь отрицательное значение (диапазон от fe -3676836768), unsigned означает, что у него нет знака, и он может хранить только положительные значения (например, от 0 до 65536).

0 голосов
/ 05 февраля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...