作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在与一家在线商店合作,目前产品是否可用,是否启用,由产品表上的 int 字段决定。
他们希望我添加更多内容,例如“供应商有货”,“缺货,x 天内发货”等。我正在考虑放弃标志并创建一个枚举类型的状态字段,其中包含“可用”、“缺货”、“即将到来”即将'、停产'等
执行此操作的最佳方法是什么?将枚举类型添加为产品的新列?
有人告诉我应该添加一个名为 Status 的单独表,并在产品表中有一个外键引用,以便将来更容易更改。我不确定这是怎么回事,因为枚举类型似乎很容易改变。您可以向其中添加、从中删除和重命名项目。
最佳答案
如果您预计会更改枚举,您可能应该使用一个单独的表。 INSERT 或 UPDATE 比 ALTER 成本更低。
此外,请考虑如何确定该字段的可接受值。如果它是枚举,则必须对选项进行硬编码或检查数据库模式。如果它在单独的表中,您可以选择以填充选项列表。
关于mysql - 要分离到不同的表或使用枚举类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3455683/
我是一名优秀的程序员,十分优秀!