1

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

我正在考虑创建一个具有以下字段的数据库 ID、customerID、dateTime、data 数据将是联系表单的 html。但是我确信这不是最佳做法。此外,它不允许我向客户提供他们所有联系表格作为 csv 或类似格式的下载选项。我也不想为每个客户准备一张不同的桌子,而且我确信拥有一张带有“field1”、“field2”、“field3”等的桌子也不是很好。有任何想法吗?

4

3 回答 3

1

如果你不需要它是关系的,那很好。您将无法很容易地查询它。

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

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

于 2011-06-10T16:35:24.010 回答
1

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

id, user_id, data

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

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

id, user_data, field_name, data
于 2011-06-10T16:35:58.230 回答
1

您可以使用 MySQL 数据库为所需的信息创建一个模式,将许多表相互关联。

这是关于数据库设计的另一个讨论: 数据库设计最佳实践

如果您必须只有一个表,我要提到的另一个选择是自动创建 ID,然后使字段不是必需的。这样,当客户先填写一张表格时,就不会弄乱你了。然后,您可以将 ID 存储为会话变量,并将其用于数据库的不同 INSERT 语句。

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

于 2011-06-10T16:37:36.903 回答