Mysql Тип данных - PullRequest
       6

Mysql Тип данных

0 голосов
/ 31 января 2012

У меня есть вопрос по обновлению типа данных в mysql.

У меня есть столбец в таблице с именем status

, который будет иметь эти значения 0 = ожидающий, 1 = активный, 2 = отклонено, 3 = приостановлено 4 = утверждено 5 = проверка

Мой вопрос: какой тип данных лучше использовать?Является ли

Char(1)
Tinyint(1)
SmallINT(1)
INT(1)

Какой из них лучше всего использовать.

Я искал это, чтобы найти, но не получаю никакого правильного ответа.

Пожалуйстасовет.

Спасибо

Ответы [ 2 ]

1 голос
/ 31 января 2012

Я просто не большой поклонник наличия кодов в таблице базы данных.Что происходит при добавлении нового статуса?

Вы можете создать справочную (дочернюю) таблицу с именем status.Вставьте все возможные значения для статуса, затем установите неидентифицирующую связь с родительской таблицей.

Если есть особый порядок (кроме алфавитного), этот статус должен быть упорядочен, скажем, в выпадающем списке,добавьте столбец, по которому вы можете сортировать.

1 голос
/ 31 января 2012

Если это только 5 допустимых значений, тогда используйте tinyint, который является 1-байтовым типом данных. Это дает вам диапазон 0-255 (без знака) / - 128- + 127 со знаком.

Не используйте символы для хранения числовых данных. Это тип текста.

В качестве альтернативы, вы можете использовать поле ENUM , которое позволит вам использовать «дружественные» имена вместо простых чисел.

...