Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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
MySql-选择记录,如字符串中的特定数字,并用逗号分隔_Mysql_Sql_Regex_Mysql Regexp - Fatal编程技术网

MySql-选择记录,如字符串中的特定数字,并用逗号分隔

MySql-选择记录,如字符串中的特定数字,并用逗号分隔,mysql,sql,regex,mysql-regexp,Mysql,Sql,Regex,Mysql Regexp,我有一个名为product_info的表,其中包含以下数据: +-------------+------------+----------------+ | title | slug | tags_id | +-------------+------------+----------------+ | Maserti | /maserati | 10,34,7,110 | | Ferrari | /ferrari | 10,3

我有一个名为product_info的表,其中包含以下数据:

+-------------+------------+----------------+
|    title    |    slug    |     tags_id    |
+-------------+------------+----------------+
|   Maserti   |  /maserati |   10,34,7,110  |
|   Ferrari   |  /ferrari  |   10,34,7,107  |
| Rolls Royce | /rollroyce | 6,10,121,64,78 |
| Caterpillar |    /cat    |   4,8,210,214  |
|  Peterbilt  | /peterbilt |  8,100,210,214 |
+-------------+------------+----------------+
接下来我有一个php字符串:

$tag = ['id' => 10, 'slug' => 'luxurycars', 'title' => 'LuxuryCars'];
我想搜索我的表,看看是否有带有此标记的记录。您可以在tags_id行中看到标记的id

如您所见,标记的id为“10”。我尝试了很多查询,但结果总是不是我想要的。 例如:我想在tags_id中搜索'10',我希望它只匹配'10',但它匹配10、107、110和210以及任何类似或包含10的数字

我所期望的是,当我搜索名为LuxuryCars的标签“10”时,我希望玛莎拉蒂、法拉利和劳斯莱斯的结果显然是通过标签搜索,就像它们在表中一样

我不希望Peterbilt和Caterpillar出现在我的结果中,仅仅因为他们有一个与之相关联的标记210

请帮忙!
谢谢你的时间

要在逗号分隔的列表中搜索单个值,可以使用:

从文件中:

在_settr、strlist中查找

如果字符串str位于由N个子字符串组成的字符串列表strlist中,则返回1到N之间的值。字符串列表是由、个字符分隔的子字符串组成的字符串

SELECT *
FROM mytable
WHERE FIND_IN_SET('10', tags_id);