mysql - 在 mysql 中存储范围和单个值的最佳方法

标签 mysql range

现在遇到一个小问题。

我有一个布局表,其中包含一个字段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/

相关文章:

date - tibco Spotfire 默认情况下将过滤器设置为持续 8 天

mysql - JPA 类型映射问题

mysql - 如何根据行而不是 AUTO_INCREMENT 制作 ID "Primary Key"字段集编号

mysql - 具有相同标识符的多行,如何通过多个左连接选择具有最高值的行(忽略其余行)?

javascript - 在 Google Apps 脚本中定义多个范围

r - 绘制数据中变量的 'ranges'

excel - 在 excel 中选择范围并使其成为表格以供进一步引用

MySQL 唯一和 NULL 索引建议

mysql - 哪个 mysql 系统变量影响 group by 子句?

javascript - d3.js:限制画笔的大小