关于ZAKER 融媒体解决方案 合作 加入

mysql 中逗号分隔的值和通配符

CocoaChina 10-14

我的数据库中有一个用逗号分隔的数据 , 例如 .

11,223,343,123

我想获取数据 , 如果它与某个数字匹配 ( 在此示例中为 223 ) .

WHERE wp_postmeta.meta_value IN ( '223', '223,%', '%,223,%', '%,223' )

我以为可以使用通配符 , 但是没有运气 . 有关如何执行此操作的任何想法?也许最好使用 PHP 来做到这一点?

最佳答案

将内容存储在以逗号分隔的列表中通常不是一个好主意 , 但是如果必须的话 , 请使用FIND_IN_SET ( str,strlist ) 函数 .

WHERE FIND_IN_SET ( '223',wp_postmeta.meta_value )

如果您可以更改数据库并对其进行规范化 , 则将获得更快的结果 . 创建一个额外的表 , 该表将 meta_values 链接到表中的 primary_id.

以上内容由"CocoaChina"上传发布 查看原文
相关标签 数据库