MySQL / 潜在客户管理 / 活动 - 结构

MySQL / Lead Management / Campaign - Structure

我只是在寻找构建 mysql table 的最佳方式。假设我有一个用于 CAMPAIGNS 的 table,并希望根据字段(即 FirstName、LastName、Email、Phone)自动生成一个 FORM。

但我想让这些字段可编辑,能够通过后端添加更多字段等。

最好是有第二个 table 来管理与 CAMPAIGN 1 关联的 FIELDS,还是能够直接编辑 mysql TABLE?

如果我要使用第二个 table FIELDS,我将能够从 FIELDS 中提取 campaign ='2' 的所有字段,显示它们,对它们进行排序等。

或者直接编辑 table,edit/add/delete 字段直接编辑到 mysql table。

使用第二个 table 来管理字段,会使其他一切变得更复杂吗? (例如导出,而不仅仅是 php->mysql->导出 table,我需要 运行 JOIN 等)。

最近其他人都在做什么,特别是 Campaign/Field 管理、表单生成等。使用这两种方法的主要区别是什么?

感谢任何意见, 谢谢 JT

永远不要让程序直接编辑 tables(唯一的例外当然是创建和更改临时 tables)。

尤其是写列名的用户,一毫秒都别想。

您应该在 table 上确定两个 class 字段。修改您处理数据的方式的字段(这些字段与业务相关)和只是顶部的字段。

如果您在额外的键值结构中编写与业务相关的字段,那么当您必须识别这些值时就会遇到麻烦。所以我的建议是:让这些字段固定 table 列。并且尽量做固定的table列,我的意思是尽量确定一个"CAMPAIGN"的核心信息集。这些字段将在您的表单中进行硬编码,但您可以将它们隐藏起来,我的意思是您仍然可以让用户根据需要禁用其中的一些字段。您应该装饰的其他字段:

  • id,
  • 对竞选的引用,
  • 可能是快捷方式-NAME(面向程序)
  • 用户可读(国际化)
    • 姓名和
    • 描述,
  • 基本数据类型(您可以在程序中读取,例如 INT 和 STRING 甚至 EMAIL),
  • 可能是 HTML 类型和 class 样式,以及验证规则。