mysql - 如何从数据库列中分解用户 ID?

标签 mysql sql regex

我有一个表名消息。有一个列名 receiver_id 我需要获取 receiver_id = 4 的记录,但我总是得到空输出。

看我的表格截图-

enter image description here

上面的截图有 3 行。第二行和第三行存在 4 以及我需要展开的其他 ID 并显示第二条和第三条记录。

如何编写MySQL查询?

最佳答案

存储逗号分隔值确实是一个糟糕的设计,您应该 normalize 它首先通过将接收者的所有关联存储在联结表中,如果您无法更改架构,那么对于您当前的情况,您可以使用 find_in_set()在逗号分隔列表中搜索值

select * from table 
where find_in_set(4,receiver_id ) >0

关于mysql - 如何从数据库列中分解用户 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25977164/

相关文章:

sql - 如何根据键值对查询表,其中键是一个整数,值是一个整数列表

sql - Ruby on Rails 插件,用于在 SQL 查询的日志中显示行号

regex - 尝试使用 RegEx 负向查找不匹配日语单词

regex - perl 不区分大小写的开关作为变量?

mysql - 如何将 MySQL 的列更改为具有另一个默认值?

python - 在 Django 中动态创建热门文章列表?

mysql - Cassandra 是构建报告系统的最佳方式吗

PHP MySQLI 防止 SQL 注入(inject)

Sql Server 2008计算两个日期之间的夜晚但删除第31晚

需要 C# 字边界正则表达式而不是 .Contains()