当前位置: 首页 > 知识库问答 >
问题:

mysql - 自定义表单在数据库中要怎么储存?

鲜于煜祺
2023-10-26

目前的一个需求就是要用自定义表单收集数据!

这个需求还行,表结构是这样的

CREATE TABLE "t_fields" (    "id" int(11) NOT NULL,    "unique_mark" VARCHAR(32 byte) NOT NULL,    -- 唯一标识,32 位    "sorted" INT4 NOT NULL,                     -- 核心字段,排序标识    "content" JSON NULL,                        -- 真实的内容,这里考虑到字段长度无法确定,只有用 json 来规定    "deleted" TINYINT(1) NULL DEFAULT 0,        -- 软删除标识    "table_name" varchar(32) NOT NULL}

现在就是设计到收集数据这里,还要涉及到统计、报表、图标,这张表不知道怎么设计了,请大佬指教!

共有1个答案

堵茂勋
2023-10-26

三种方法

  1. 用多表关联映射;

    1. t_form为主表
    2. t_field为字段表,主要两个字段field_namefield_type
    3. t_form_value_string,t_form_value_int,t_field_content等等其他更多类型字段。主要字段t_form_id,form_id,t_field_idvalue(int,string,content, ...)
    4. 获取数据时候获取表单结构,t_formt_field 1对多。再通过t_field结构到对应类型value表中获取数据。
  2. 为每个表单都单独建立一个数据表,通过表名为form_{corpID}_{formID}_{version}查询数据
  3. 最直接法,直接把表单数据作为json填写到数据库。一个表单就是一条数据。
 类似资料:
  • 问题内容: 我正在尝试实现一个自定义表单生成器,类似于Wufoo和Google提供的表单生成器。 虽然我创建了一个简单的UI来创建这些自定义表单,但我的问题却出在数据库设计上。创建表单后,将JSON实现保存在数据库中(希望对此进行改进),并引用该实现来构建用户可以看到的表单。 提交后,我想将表单的所有字段存储在数据库中。遵循用于设计数据库的JSON结构,这很容易。但是 我希望每个字段都可以搜索 。

  • 在我的项目中有几个实体具有相同的属性(对于示例'name'),所以,有可能创建一个存储库,其中使用自定义的select(实体)?因此,我从JpaRepository扩展了我的存储库,我扩展了MyCustomJpaRepository,MyCustomJpaRepository也扩展了JpaRepository,使其能够从JpaRepository授予基本功能? TKS

  • 我最终不得不在文件。定义通常非常繁琐: 注意上面gradle提供了一种定义常用maven存储库的好方法(即)。我想在插件或父gradle脚本中找到一种方法,在函数中或静态地定义存储库,然后在块中调用它:。 我缺乏groovy方面的知识,因此我不太了解解析groovy源代码所需的知识,我正在寻找一种很好的方法来实现这一点。我该怎么做? 我知道在父级gradle文件中,我可以使用或。我不想将这些mav

  • 使用Spring Boot应用程序。我有一个类UserService,我在其中创建了一个动态查询,根据请求参数具有多个or条件: 我有UserRepository接口,我需要执行这个查询。到目前为止,我使用了findById等JPA函数或@Query(“从事件中选择id”)。 如何将此查询从服务类传递到存储库并执行它?

  • 问题内容: 我正在开发一个PHP应用程序,该程序需要将各种设置存储在数据库中。客户经常询问是否可以添加或更改/删除某些内容,这已导致表格设计出现问题。基本上,我有很多布尔字段,它们仅指示是否为特定记录启用了各种设置。 为了避免使表格混乱,我考虑将数据存储为序列化数组。我已经读过,这被认为是不好的做法,但是我认为这是使用这种方法的合理案例。 有什么真正的理由避免这样做吗? 任何建议表示赞赏。 谢谢。

  • 我正在创建一个web应用程序,它有一个用户对象,每个用户对象都有一个需要存储到mySQL数据库表中的对象(食物)的ArrayList。我想将整个ArrayList存储到一列中。将其存储为Json会更好吗?或者我应该为每个用户创建一个表来存储ArrayList的各个项目吗?我唯一的问题是数据会被频繁编辑。 编辑:我有供用户和食物使用的桌子。其想法是,用户将食物表中的食物添加到他们的ArrayList