我正在考虑将用户的状态保存为一个整数,因此它可以有 9 种不同的状态,每种状态有 10 种类型。 (#########)
例如,一个没有付费和期限的注册用户。状态 = 000011200。
我可以使用 MySQL 来搜索状态为 # # # # # # 2 # # 的用户吗?
最佳答案
这听起来像是一个几乎无法维护的想法。是的,它很紧凑,但人类无法理解,这使得它很难使用。它也离 self 记录很远;如果您忘记或混淆了哪个数字代表什么,您将陷入一大堆问题和逻辑错误。
您应该将每种不同的状态存储在单独的列中,并且最好使用像 ENUM 这样的 self 记录的东西作为值:
CREATE TABLE foo (
payment_status ENUM('paid', 'pending', 'rejected'),
registration_status ENUM('active', 'pending', 'deleted'),
...
)
干净、简单、易于理解、可用、可维护、可扩展;可能还有其他一些*能干的更多。我看不出使用其他东西有任何真正的优势。
关于php - mysql 查找数字的第n位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24739503/