Mysql 用于查找字符串和下一个字符的正则表达式不应为数字
我有一个mysql表,其中一列中另一个表的ID存储为逗号分隔的值 例如Mysql 用于查找字符串和下一个字符的正则表达式不应为数字,mysql,sql,regex,where-clause,Mysql,Sql,Regex,Where Clause,我有一个mysql表,其中一列中另一个表的ID存储为逗号分隔的值 例如 id | name | jobid ---+------+--------- 1 | AA | 12 2 | BB | 3 | CC | 12,124 4 | DD | 11,124,46 在这里,可以看到列jobid可能为空,或者包含一个或多个用逗号分隔的id 现在我需要获取具有特定jobid的行。如果搜索jobid12,它应该返回第1行和第3行 我不能使用WHERE LIKE,因为您可以看到,
id | name | jobid
---+------+---------
1 | AA | 12
2 | BB |
3 | CC | 12,124
4 | DD | 11,124,46
在这里,可以看到列jobid可能为空,或者包含一个或多个用逗号分隔的id
现在我需要获取具有特定jobid的行。如果搜索jobid12,它应该返回第1行和第3行
我不能使用WHERE LIKE
,因为您可以看到,如果我搜索jobid12
,它将生成第1、3和4行
所以我的结论是使用正则表达式来搜索id,下一个或上一个字符不应该是数字。但我一点也不擅长正则表达式,我尝试了很多方法在网上搜索,但都没有成功
我认为我的逻辑是正确的,如果不是,请建议我解决这个问题的最佳方法
注意。由于某些原因,我无法更改存储Jobid的方式。在MySQL中,您可以简单地使用它。它的目的是在逗号分隔的列表中搜索一个值(据我所知,这就是您要查找的内容)
select * from mytable where find_in_set(12, jobid);