如何在MYSQL数据库的一个字段中存储多个字段

时间:2011-06-10 16:31:38

标签: php mysql contact-form

如果这是一个愚蠢的问题,我很抱歉,但我是新手。我想将所有客户的不同联系表单中的所有信息存储在数据库中,以便以后可以检索这些信息。每个联系表单都有不同数量的字段。理想情况下,我将所有这些信息存储在一个MYSQL表中,但正如我所说,每个客户的联系表单都有不同数量的字段。

我正在考虑使用以下字段创建数据库 ID,customerID,dateTime,数据 数据将是联系表单的html。但是我相信这不是最好的做法。此外,它不允许我向所有联系表单的客户提供下载选项作为csv或类似的。 我不想为每个客户都有一个不同的表,我确信有一个带有'field1','field2','field3'等的表也不是那么好。 有什么想法吗?

3 个答案:

答案 0 :(得分:1)

如果你不需要关系,那就没问题了。你将无法轻易地查询它。

您可以使用键将答案存储在另一个表中,以链接回表单和字段。

或者使用像MongDB这样的KeyValue商店类型数据库,您可以存储所有数据而无需担心架构。

答案 1 :(得分:1)

创建另一个名为user_data的表。在其中,有:

id, user_id, data

然后,如果他们填写一个包含10个字段的表单,则可以在此表中输入10个条目。为用户提取数据时,只需从user_data表中提取user_id =其id的任何数据。

如果您需要更多,还可以添加“field_name”字段或其他内容:

id, user_data, field_name, data

答案 2 :(得分:1)

您可以使用MySQL数据库来获取所需信息的架构,这些架构可以将多个表相互关联。

以下是关于数据库设计的另一个讨论: Database Design Best Practices

如果您必须只有一个表,我要提到的另一个选择是自动创建ID,然后不要求这些字段。这样,当客户在另一个表单之前填写一个表单时,它不会让您感到困惑。然后,您可以将ID存储为会话变量,并将其重用于数据库的不同INSERT语句。

您可以为客户创建一个下载功能,该功能将以查询您的表格的所需格式输出,然后生成该文件。