我有一个简单的应用程序,用户在其中将数据提交到表中。
目前用户可以将值传递给 3 个字段。我试图找到一个解决方案,其中描述列的数量可能会有所不同,具体取决于用户创建的描述列表。
到目前为止,我已经考虑过:
- 让 user_input 表有许多可为空的描述字段,例如从 1 到 15,因此将用户可以定义的描述字段的数量限制为 15。此解决方案非常易于查询和维护,但仅限于一组字段数量。(总的来说,这是一个可行且可接受的解决方案吗?)
- 创建一个表格,其中每一行对应于输入的 1 个描述。这将允许用户创建无限数量的描述字段,但是存储每个所有输入而不是 1 行现在需要 n 行,其中 n 是链接到当前 description_list 的描述的计数。用户可以自由选择列的数量,但查询和维护并不容易。
我当前的表是这样的:
CREATE TABLE `user_input` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`description_list_id` int(11) NOT NULL,
`description1` int(11) NOT NULL,
`description2` int(11) NOT NULL,
`description3` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
还有其他解决方案吗?