【发布时间】:2014-07-06 08:07:17
【问题描述】:
我曾经在我以前的项目中使用 ENUM。例如,我有一个名为 status 的列,并为 pending, success, fail 提供 ENUM
但是,我听说 ENUM 很糟糕,尤其是在未来发展和进行更改时。
所以,我决定离开 ENUM。确保插入 MYSQL 的字符串只是那些特定字符串的最佳方法是什么?
有没有一种数据库方式可以做到这一点,还是我必须在应用程序级别做到这一点?
【问题讨论】:
我曾经在我以前的项目中使用 ENUM。例如,我有一个名为 status 的列,并为 pending, success, fail 提供 ENUM
但是,我听说 ENUM 很糟糕,尤其是在未来发展和进行更改时。
所以,我决定离开 ENUM。确保插入 MYSQL 的字符串只是那些特定字符串的最佳方法是什么?
有没有一种数据库方式可以做到这一点,还是我必须在应用程序级别做到这一点?
【问题讨论】:
你有一些选择
tinyint 并将其映射到逻辑中的字符串(如果这对您来说足够)【讨论】:
tinyint 并在我的应用程序中处理它。但这实际上取决于可能值的数量,以及是否确实存在错误条目的问题。