worldwidehilt.blogg.se

Correct use of enum in mysql
Correct use of enum in mysql












In that case, a FK would be better but the base table would have to have 'unknown' as a default type and define game_rating as NOT NULL. SET is used the same way as ENUM and declared the same way as ENUM.

#Correct use of enum in mysql code

It’s much safer than simply relying on code validation, as the ENUM function will reject any incorrect values at the database level. OK game_rating may be a bad example since ESRB could create more game ratings. MySQL ENUM is a great way to ensure that data entered into your table conforms to a specific set of values.

  • you can allow for NULL (Example : game_rating ENUM('EC','E','E10+','T','M','A') NULL This allows a new game to be entered into a table without a default rating).
  • Otherwise, bait-and-switch methods of maintenance would have to accompany the use of the ENUM.

    correct use of enum in mysql correct use of enum in mysql

    its portability must always be based on logcial dumps of the table, never physical.it will never likely experience redefinition.it must represent a type that is never changed.the type you are representing is local to the table only.Here is what should be considered about ENUM usage: Hence, this would not be suitable for ENUMs because the constraint checking would have to be done in your application rather than in the database. Such concerrns would definitely apply if using ENUM.įoreign Key Constraints would server to protect a row from absorbing invalid types. In addition, you would not be worried about those values matching up exactly with the base table definition of the type. Just by adding new entries into a table with the types needed, keys can be passed around to other tables without worrying about the underlying value being properly represented in the foreign tables. Using foreign keys makes a great deal of sense when you know that the types you are establishing can be extended, reduced, or altered. While there are bait-and-switch tricks you can perform to extend a range for an ENUM, those same tricks become very cumbersome (maybe even impossible) if you want to do other things such as reducing or altering an ENUM range. Once those values are put in place, it can be rather challenging to perform any kind of simple maintenance should you want to redefine the ENUM range. When using ENUM to have a range of values, you have to properly plan what values you will use.












    Correct use of enum in mysql