enum('yes', 'no') vs tinyint — which one to use?

后端 未结 3 1531
有刺的猬
有刺的猬 2021-01-04 01:44

What\'s the best practice for fields that hold true/false values?

Such columns can be defined as enum(\'yes\',\'no\') or as tinyint(1). Is one better/faster than the

相关标签:
3条回答
  • 2021-01-04 02:05

    avoid enum from this reasons

    The bottom line is that ENUM has its place, but should be used sparingly. The model should enforce the constraints, not the database; the model should handle interpreting raw data into useful information for your views, not the database.

    0 讨论(0)
  • 2021-01-04 02:12

    BOOLEAN type is there for a reason. It is indeed a TINYINT(1) but since it's there, it must be the recommended way.

    0 讨论(0)
  • 2021-01-04 02:27

    Also, ENUM is a non-standard MySql extension. You should avoid it, especially if you can achieve the same results in a standard way.

    0 讨论(0)
提交回复
热议问题