Нужно ли указывать максимальную длину INT в MySQL при создании столбца? - PullRequest
0 голосов
/ 25 января 2019

Я пишу SQL-запрос для создания нового столбца в таблице.Часть моего запроса включает в себя следующее:

`phone` INT(8) UNSIGNED NOT NULL DEFAULT 0

Телефон должен иметь ровно 8 цифр, потому что именно так работает телефонный номер для стран, с которыми я работаю.Но я не уверен, нужно ли мне использовать INT(8) или только INT.Другой способ записать эту часть:

`phone` INT UNSIGNED NOT NULL DEFAULT 0

Я знаю, например, для VARCHAR вы указываете длину.Например: VARCHAR(50).Но в случае INT я не уверен, поскольку в MySQL уже известно, что INT может хранить максимальное значение 4294967295, когда оно не подписано, поэтому использование INT(8) может не иметь смысла, поскольку INTвсегда будет INT и по определению может хранить максимальное значение 4294967295 при использовании UNSIGNED (https://dev.mysql.com/doc/refman/8.0/en/integer-types.html). Спасибо.

1 Ответ

0 голосов
/ 25 января 2019

INT (8) - устаревшая конструкция форматирования. Лучше игнорировать их в типах int.

VARCHAR, вероятно, лучше для типов PHONE, для которых не выполняются числовые операции.

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