现在遇到一个小问题。
我有一个布局表,其中包含一个字段pages
。这应该指定布局应该应用于哪些页面。
可能的内容是“封闭”范围,如 '3-5'
或开放范围,如 '3-*'
。但也应该可以添加单个页面。
那么有没有好的方法来完成这样的内容
'3-5;11;15;17-*'
在单个字段中?
或者你知道更好的方法吗?
是否可以像这样查询该字段
SELECT * WHERE IN_RANGE(pages, '5')
(伪代码)
我想阻止创建表page
,因为它不包含任何其他内容,而且也不想在 php 中进行验证。
如有必要,我很乐意提供更多信息。
最佳答案
这是一个棘手的问题,我没有看到“ native ”sql 选项。 我的第一个想法是将有关页面的信息存储为 varchar 并实现方法来标记该字符串,这样您就可以获得可以通过 sql 查询处理的值。
关于mysql - 在 mysql 中存储范围和单个值的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21517310/