现在我的 MySQL 表中有 7 列:
monday
tuesday
wednesday
..
它们都是 boolean 值。有没有办法通过使用位集/位图或其他东西将这些 boolean 值组合到一个 days
列中?
我还希望能够查询启用了特定日期的行。我现在使用的查询是:
SELECT id FROM rows WHERE thursday = 1
多天也可以,但我一次只需要查询1天。
最佳答案
有什么理由要将它们全部存储在一列中吗?
方法有很多,但如果您走这条路,那么您在未来会遇到一些问题。例如,如果您想查看“星期四”期间哪些行处于事件状态,则必须查看每一行,运行一些函数来“清除”您的数据,然后解析您的结果。
如果只有 7 个 boolean 值,为什么不创建一个可以存储 0-2^8 的列并每天分配一点?
关于mysql - 我可以在 1 列中保存 7 个 boolean 值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5185921/