Php mysql字段数据是数组如何选择项

Php mysql字段数据是数组如何选择项,php,mysql,Php,Mysql,表名数据 ID | Name | List ----------------- 1 | Test 1 | 1,2,4,6 2 | Test 2 | 2,4 3 | Test 3 | 4,6,7 3 | Test 4 | 2 如何从“列表”中有2个项目的“数据”表中选择项目 运行查询后要查看此结果: ID | Name | List ----------------- 1 | Test 1 | 1,**2**,4,6 2 | Test 2 | **2**,4 3

表名数据

ID  | Name | List
-----------------
1   | Test 1 | 1,2,4,6
2   | Test 2 | 2,4
3   | Test 3 | 4,6,7
3   | Test 4 | 2
如何从“列表”中有2个项目的“数据”表中选择项目

运行查询后要查看此结果:

ID  | Name | List
-----------------
1   | Test 1 | 1,**2**,4,6
2   | Test 2 | **2**,4
3   | Test 4 | **2**

建议:

首先,您需要将表结构规范化为一行中的一个列表Id,否则您可以使用
FIND\u in\u SET

解决方案

SELECT * FROM Data WHERE FIND_IN_SET(2,List);
建议2

SELECT * FROM Data WHERE FIND_IN_SET(2,List);

另外一个建议是,您还可以创建一个单独的表,用于根据数据Id优势保存列表Id,即字符串列的名称字段不会重复建议。

建议:

首先,您需要将表结构规范化为一行中的一个列表Id,否则您可以使用
FIND\u in\u SET

解决方案

SELECT * FROM Data WHERE FIND_IN_SET(2,List);
建议2

SELECT * FROM Data WHERE FIND_IN_SET(2,List);

另外一个建议是,您还可以创建一个单独的表,用于根据数据Id保存列表Id。好处是,名称字段(字符串列)不会重复建议。

您应该规范化您的表。每值1行。是的,正如@chris85所说。这是一种可怕的方法,会导致无尽的头痛。请使用“在\u集合(2,列表)中查找\u”快速/肮脏黑客:。正确的解决方法:在你给自己制造麻烦之前规范你的设计。@marc-b同意bro。。规范化yur表的最佳方法是使用“在集合中查找”或类似的方法。您应该规范化您的表。每值1行。是的,正如@chris85所说。这是一种可怕的方法,会导致无尽的头痛。请使用“在\u集合(2,列表)中查找\u”快速/肮脏黑客:。正确的解决方法:在你给自己制造麻烦之前规范你的设计。@marc-b同意bro。。规范化yur表的最佳方法是使用“在集合中查找”或类似方法