Spec-Zone .ru
спецификации, руководства, описания, API
|
MySQL поддерживает расширение для того, чтобы дополнительно определить дисплей width целочисленных типов данных
в круглых скобках после основного ключевого слова для типа. Например, INT(4)
определяет INT
с дисплеем width четырех цифр. Этот дополнительный дисплей width может
использоваться приложениями, чтобы вывести на экран целочисленные значения, имеющие width меньше чем width,
определенный для столбца, лево-дополняя их пробелами. (Таким образом, этот width присутствует в метаданных,
возвращенных с наборами результатов. Используется ли это или не до приложения.)
width дисплея не ограничивает диапазон значений, которые могут быть
сохранены в столбце. И при этом это не предотвращает значения шире, чем столбец выводит на экран width от того,
чтобы быть выведенным на экран правильно. Например, столбец, определенный как SMALLINT(3)
имеет обычное SMALLINT
диапазон -32768
к 32767
, и значения вне диапазона, разрешенного тремя цифрами, выводятся на экран в
полном использовании больше чем трех цифр.
Когда использующийся в соединении с дополнительным (нестандартным) атрибутом ZEROFILL
, дополнение значения по умолчанию пробелов заменяется нулями. Например, для
столбца, объявленного как INT(4) ZEROFILL
, значение 5
получается как 0005
.
ZEROFILL
атрибут игнорируется, когда столбец включается в выражения или
UNION
запросы.
Если Вы храните значения, больше чем дисплей width в целочисленном столбце, который имеет ZEROFILL
атрибут, можно испытать проблемы, когда MySQL генерирует временные
таблицы для некоторых сложных соединений. В этих случаях MySQL предполагает, что подгонка значений данных в
пределах столбца выводит на экран width.
У всех целочисленных типов может быть дополнительный (нестандартный) атрибут UNSIGNED
. Тип без знака может использоваться, чтобы разрешить только неотрицательные
числа в столбце или когда Вы нуждаетесь в большем верхнем числовом диапазоне для столбца. Например, если INT
столбец UNSIGNED
, размер диапазона столбца
является тем же самым, но его сдвигом конечных точек от -2147483648
и 2147483647
до 0
и 4294967295
.
С плавающей точкой и типы фиксированной точки также может быть UNSIGNED
. Как с
целочисленными типами, этот атрибут препятствует тому, чтобы отрицательные величины были сохранены в столбце. В
отличие от целочисленных типов, верхний диапазон значений столбцов остается тем же самым.
Если Вы определяете ZEROFILL
для числового столбца MySQL автоматически добавляет
UNSIGNED
припишите столбцу.
У целочисленных или типов данных с плавающей точкой может быть дополнительный атрибут AUTO_INCREMENT
.
Когда Вы вставляете значение NULL
(рекомендуемый) или 0
в индексированный AUTO_INCREMENT
столбец, столбец
устанавливается в следующее значение последовательности. Обычно это
, где value
+1value
самое большое значение для столбца в настоящий момент в
таблице. AUTO_INCREMENT
последовательности начинаются 1
.