Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql |从空列请求并在_集中查找_Php_Mysql_Request_Find In Set - Fatal编程技术网

Php mysql |从空列请求并在_集中查找

Php mysql |从空列请求并在_集中查找,php,mysql,request,find-in-set,Php,Mysql,Request,Find In Set,我有一张桌子: id name position status 1 A 1,2 1 2 B 1 1 3 C 1 4 D 2 1 其中:位置列为文本字段; 我的要求如下: SELECT `id` FROM `table` WHERE `status`=1 AND `position` > '' AND `position` = FIND_IN_S

我有一张桌子:

id  name   position   status
1   A      1,2        1
2   B      1          1
3   C                 1
4   D      2          1
其中:
位置
列为文本字段; 我的要求如下:

SELECT `id` 
FROM  `table` 
WHERE `status`=1
AND `position` >  ''
AND `position` = FIND_IN_SET( 1,  `position` ) 
OR  `position` = FIND_IN_SET( 2,  `position` ) 
此请求将返回:1,2,3,4。这是一个错误,因为我需要:1,2,4-> 条件:(
位置
'')。 哪里有问题,如何更改我的请求?
谢谢。

在检查字段列表中的数字时,您不需要检查位置是否为空

您不需要检查
position=FIND_IN_SET…
。它将返回1所在位置的值

你需要这样做:

 SELECT `id` 
 FROM  `table` 
 WHERE `status`=1
 AND  FIND_IN_SET( 1,  `position` ) 
 OR   FIND_IN_SET( 2,  `position` )