我正在考虑将用户的状态保存为整数,这样它可以有9个不同的状态,每个状态有10个类型。(# # # # # # # # #)
例如,未付款的注册用户和条款。状态=000011200。
我可以使用MySQL搜索状态为的用户吗,例如,2?
最佳答案
这听起来是一个几乎不可能维持的想法。是的,它很紧凑,但对一个人来说是不可理解的,这使得它很难工作。它也离自我文档化还差得远;如果你忘记或混淆了哪个数字代表了你将陷入一大堆问题和逻辑错误。
您应该将每种单独的状态存储在单独的列中,最好使用自文档作为枚举作为值:
CREATE TABLE foo (
payment_status ENUM('paid', 'pending', 'rejected'),
registration_status ENUM('active', 'pending', 'deleted'),
...
)
干净、简单、可理解、可用、可维护、可扩展;可能还有许多其他*可扩展。我看用别的东西没有什么好处。