2010-01-12 2 views

ответ

7

Да, это был бы подходящий тип данных, поскольку он применяет ваш домен.

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

+3

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

+0

Ах спасибо, спасибо! Так, например, если бы я хотел рассчитать средний рейтинг для перечисления продукта, это был бы плохой выбор, не так ли? Должен ли я просто использовать int и программно ограничить ввод между 1 и 5> –

+0

@ Jordan, мои мысли точно. ENUM действительно сияет, если у вас есть фиксированный список текстов, и нет числовой коннотации –

9

Я предлагаю использовать

TINYINT UNSIGNED NOT NULL 

или, для лучшей совместимости ANSI/SQL, использование:

SMALLINT NOT NULL 

С целочисленного типа, гораздо проще делать расчеты. ENUM не плохо, но есть потенциал испортить, потому что это своего рода двойной тип string/int (под обложками, это int, но снаружи, это строка). И действительно, предположим, что вы чувствуете необходимость идти на 3 звезды, или 10 звезд или около того, миграция будет гораздо менее болезненной.

 Смежные вопросы

  • Нет связанных вопросов^_^