Would ENUM('1','2','3','4','5') be a sensible datatype for a product rating which must be between 1 and 5?
Thanks!
Yes, that would be an appropriate data type since it enforces your domain.
If you are going to add (or do any other mathematical operation) them together, however, a numeric data type might be better.
I suggest using
TINYINT UNSIGNED NOT NULL
or, for better ANSI/SQL compatibility, use:
SMALLINT NOT NULL
With an integer type, it is much easier to do calculations. ENUM
is not bad, but there is a potential to mess up because it's kind of a dual string/int type (beneath the covers, it's an int, but from the outside, it's a string). And indeed, suppose you do feel the need to go to 3 stars, or 10 stars or so, the migration will be much less painful.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With