1

我需要建立一个潜在客户聚合系统。一般来说,系统会存储客户从登录页面发送的数据(姓名、电话、电子邮件等)。

有趣的是,我不知道每个登录页面将包含哪些字段。因此,一个着陆页可能需要和name,而其他着陆页将收集和。我还需要以某种方式保存该字段的标题 - 因为我需要显示为. 我想简单地将整个内容作为 JSON 对象存储在一个字段中,但这感觉既便宜又错误(而且它会糟蹋排序和选择它)。phoneemailemailnum_of_kidsnum_of_kidsNumber of Children

我对建议和解决方法持开放态度(解决方案不必是严格的 MySQL)。

编辑:我决定将 MongoDB 用于该项目。目前看来,这似乎是我今年做出的最佳决定之一。

4

3 回答 3

1

您是否考虑过将可变表单数据存储在 XML 字段中?然后你可以使用ExtractValueXPath 来获取值

于 2012-07-16T08:03:18.887 回答
1

您的问题可以通过像MongoDB这样的无模式 NoSQL 数据库来解决

进一步阅读: NoSQL

PS祝你好运,玩得开心:)

于 2012-07-18T18:08:42.143 回答
1
#store minimal required data as the lead
CREATE TABLE leads (
   leads_id SERIAL,
   name TINYTEXT
)

#Store the rest of the data as key-value pair
CREATE TABLE leads_data (
   leads_id BIGINT UNSIGNED NOT NULL,
   field_name TINYTEXT NOT NULL,
   field_value TINYTEXT NOT NULL
);

或者您可以将字段名称存储在一个表中,并将值存储在第三个表中

CREATE TABLE leads_fields (
   leads_field_id SERIAL,
   field_name TINYTEXT NOT NULL,
   field_type TINYTEXT NOT NULL
);

CREATE TABLE leads_data (
   leads_id BIGINT UNSIGNED NOT NULL,
   leads_field_id BIGINT UNSIGNED NOT NULL,
   field_value TINYTEXT NOT NULL,
   PRIMARY KEY(leads_id, leads_field_id)
);
于 2012-07-16T07:46:24.693 回答