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表的最佳方法是使用“在集合中查找”或类似方法