MySQL 5-звездочный рейтинг тип данных? - PullRequest
4 голосов
/ 12 января 2010

ENUM («1», «2», «3», «4», «5») будет разумным типом данных для оценки продукта, которая должна быть от 1 до 5?

Спасибо!

Ответы [ 2 ]

9 голосов
/ 12 января 2010

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

TINYINT UNSIGNED NOT NULL

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

SMALLINT NOT NULL

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

8 голосов
/ 12 января 2010

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

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

...