Тип данных MySQL, который не может быть пустым? - PullRequest
0 голосов
/ 23 мая 2011

Я использовал тип данных MySQL INT(11), но мне пришлось перейти на использование CHAR(45), потому что я имел дело с большими целыми числами.

Теперь CHAR позволяет отправлять пустые строки, а не возвращать ошибки, как это должно быть.Можно ли использовать другой тип данных?

Ответы [ 3 ]

2 голосов
/ 23 мая 2011

Вы можете использовать BIGINT или НЕ ПОДПИСАНО BIGINT.

В любом случае, вам следует провести некоторую проверку на уровне приложения, чтобы он показывал пользователю значимое сообщение об ошибке, когда отправленные им данные недействительны. И это независимо от используемого типа данных.

1 голос
/ 23 мая 2011

если у INT нет нужного вам диапазона, вы можете «перейти» на BIGINT

Вообще говоря, если значением является число, вы должны придерживаться числовых классов данных - это обычно приводит к трудностям поиска ошибок и проблем.

полшага будет указывать INT как UNSIGNED (в основном удваивает диапазон, не включая отрицательную сторону числовой линии в пространстве данных)

См. Документацию для получения дополнительной информации о числовых типах .

1 голос
/ 23 мая 2011

Я бы использовал BigInt, проверьте эту страницу: http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

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