mysql是否有多行索引(多维索引)功能?

目前mysql一行数据只能建立一行索引(即便是多列联合索引)。

请问是否有一行建立多个索引的功能?如果有的话该如何实现?

例如数据:
name / value
aaa / 1
bbb / 2
ccc / 3,4,5

能否对value建立一个索引类似于:
1 -> aaa
2 -> bbb
3 -> ccc
4 -> ccc
5 -> ccc

而不是:
1 -> aaa
2 -> bbb
3,4,5 -> ccc

类似于数组数据列这个样子,切分符可以是逗号、换行或者类似的?
非常感谢!

阅读 3.9k
2 个回答

不好意思,暂时没发现有这样的,
但是如果你仅仅是想查询3或4或5的时候都能查到c对应项的话,有以下方法:
使用MySQL的函数FIND_IN_SET(),在逗号分隔的字符串中查找对应项,返回值为在字符串中的顺序,如果没找到对应项返回0。

value(3,4,5) breaks the normalization

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题