因此,数据库中名为 school 的字段可能具有以下值:
'13,121,112,1212'
Run Code Online (Sandbox Code Playgroud)
我用它来显示出错的可能性。
假设我正在寻找12该字段中的值。逗号表示“整数”,我不想匹配 112 或 1212
还有比这更优雅的搭配吗?
@compare = 12;
WHERE CONCAT(schools,',') LIKE CONCAT('%',compare,',%)
Run Code Online (Sandbox Code Playgroud)
最近 GROUP_CONCAT 函数给我留下了深刻的印象,但这恰恰相反。谢谢!
对于这个简单的情况,您可以使用FIND_IN_SET();
WHERE FIND_IN_SET('13', schools);
Run Code Online (Sandbox Code Playgroud)
请注意,虽然有与逗号列中没有很好的索引分隔文本,所以查询将是多比规范化的数据库慢。