当我遇到这个问题时,我正在 php 中使用一个简单的 mysql 表,我想知道是否有解决方案。
该表以逗号分隔格式保存用户名及其位置。
id|user|locations
------------------
1 |abc | A, B, C
------------------
2 |xyz | P, Q, R
我想知道是否有任何方法可以编写一个 mysql 查询,以便它返回一个位置为 A 的用户。 基本上,如果逗号分隔值中的一个值匹配,则应返回记录。
我知道将它们存储为单独的记录是更好的方法,但我只是好奇这样的检索是否可行。 提前致谢。
最佳答案
理想情况下,您应该考虑规范化数据,这样您就不会存储以逗号分隔的列表。
但是如果你不能改变表结构,MySQL 有一个 FIND_IN_SET()
可用于返回与所需值匹配的行的函数:
select id, user, locations
from yourtable
where find_in_set('A', locations)
关于php - 拆分表列中的数据以进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15601044/