Php 在mysql中更新逗号值

Php 在mysql中更新逗号值,php,mysql,Php,Mysql,我在mysql中有一个产品表,其中一个字段(attributes字段)包含逗号值,如attibutes_1、attibutes_2等。 在我的表单中,我对产品的每个属性都有一个复选框,html如下 <input type="checkbox" value="attributes_1" name="attributes[$id][]"> <input type="checkbox" value="attributes_2" name="attributes[$id][]">

我在mysql中有一个产品表,其中一个字段(attributes字段)包含逗号值,如attibutes_1、attibutes_2等。 在我的表单中,我对产品的每个属性都有一个复选框,html如下

<input type="checkbox" value="attributes_1" name="attributes[$id][]">
<input type="checkbox" value="attributes_2" name="attributes[$id][]">

并将其更新到表中,但有时并不完美。请帮助我获得更好的解决方案

您需要一个单独的属性表,然后使用id字段链接这两个表

table 1:
id, somedata1, somedata2

table 2:
id, table1_id, attribute_name, attribute_value

或者类似的。表1_id将具有与第一个表中的匹配id相关的值。这样,您可以在记录和属性之间建立一对多关系。这将允许您使用带有联接的查询在单个结果集中从两个表中提取数据。您永远不应该在一个字段中存储逗号分隔的值。

如果您将多个数据合并到一个列中,违反了基本的关系数据库理论,您将永远不会有一个工作完美甚至非常好的解决方案。因为你没有说明你的实际问题是什么,没有人能帮你解决它,但我猜它要么是包含在应该是单个表达式的事物中的逗号,要么是超出了字段长度


解决方案是使用数据表的主键将这些属性存储在一个或多个与主数据表相关的子表中。为了更好地了解如何执行此操作,您必须指定属性中存储的确切内容。

您需要更清楚地解释您的问题,以及您尝试过但没有成功的内容。您的名字是什么?闻起来像是要启动的。。。
table 1:
id, somedata1, somedata2

table 2:
id, table1_id, attribute_name, attribute_value