这是一种情况;在名为foo
的表列中,我有动态implode()
d varchar数据,如1,2,3,4
或2,3
或1,3
等等。
稍后,在代码中,在查询之前会识别字符串$ce = 3;
,准备从包含数字3的foo
列中提取资源。
现在我正在使用以下选择..
SELECT DISTINCT place FROM xx WHERE she = 1
AND foo IN ($ce)
那不行。
SELECT DISTINCT place FROM xx WHERE she = 1
AND $ce IN (foo)
也不这样做。
哪里错了?有什么想法吗?
答案 0 :(得分:0)
这不是IN子句的用途。
而是使用instr函数,如下所示:
SELECT DISTINCT place FROM xx WHERE she = 1 AND instr(foo, $ce) > 0
您还可以使用正则表达式:http://dev.mysql.com/doc/refman/5.0/en/regexp.html
答案 1 :(得分:0)
SELECT DISTINCT place FROM xx WHERE she = 1 AND FIND_IN_SET('$ce',foo)
这应该适合你。