如果我理解正确,我可能会做这样的事情:
CREATE TABLE IF NOT EXISTS `form_history` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`when` datetime NOT NULL,
`field_accept` varchar(255) DEFAULT NULL,
`field_accesskey` varchar(255) DEFAULT NULL,
`field_alt` varchar(255) DEFAULT NULL,
`field_autocomplete` varchar(255) DEFAULT NULL,
`field_autofocus` varchar(255) DEFAULT NULL,
`field_checked` varchar(255) DEFAULT NULL,
`field_class` varchar(255) DEFAULT NULL,
`field_contenteditable` varchar(255) DEFAULT NULL,
`field_contextmenu` varchar(255) DEFAULT NULL,
`field_data` text DEFAULT NULL,
`field_dir` varchar(255) DEFAULT NULL,
`field_disabled` varchar(255) DEFAULT NULL,
`field_draggable` varchar(255) DEFAULT NULL,
`field_dropzone` varchar(255) DEFAULT NULL,
`field_form` varchar(255) DEFAULT NULL,
`field_formaction` varchar(255) DEFAULT NULL,
`field_formtarget` varchar(255) DEFAULT NULL,
`field_height` int unsigned DEFAULT NULL,
`field_hidden` varchar(255) DEFAULT NULL,
`field_id` varchar(255) DEFAULT NULL,
`field_lang` varchar(255) DEFAULT NULL,
`field_list` varchar(255) DEFAULT NULL,
`field_max` varchar(255) DEFAULT NULL,
`field_maxlength` int unsigned DEFAULT NULL,
`field_min` varchar(255) DEFAULT NULL,
`field_multiple` varchar(255) DEFAULT NULL,
`field_name` varchar(255) DEFAULT NULL,
`field_pattern` varchar(255) DEFAULT NULL,
`field_placeholder` varchar(255) DEFAULT NULL,
`field_readonly` varchar(255) DEFAULT NULL,
`field_required` varchar(255) DEFAULT NULL,
`field_size` int unsigned DEFAULT NULL,
`field_spellcheck` varchar(255) DEFAULT NULL,
`field_src` varchar(255) DEFAULT NULL,
`field_step` int unsigned DEFAULT NULL,
`field_style` varchar(255) DEFAULT NULL,
`field_tabindex` int unsigned DEFAULT NULL,
`field_title` varchar(255) DEFAULT NULL,
`field_translate` varchar(255) DEFAULT NULL,
`field_type` varchar(255) DEFAULT NULL,
`field_value` varchar(255) DEFAULT NULL,
`field_width` int unsigned DEFAULT NULL,
PRIMARY KEY (`id`), KEY (`when`)
) ENGINE=InnoDB COMMENT='Field definitions';
事件属性以及如果这对你很重要,你可以添加列。
下面是一些示例数据:
|----|---------------------|-----|-----------------|-----|------------|-----|
| id | when | ... | field_maxlength | ... | field_name | ... |
|----|---------------------|-----|-----------------|-----|------------|-----|
| 1 | 2015-06-01 00:00:01 | ... | 10 | ... | username | ... |
| 2 | 2015-06-01 00:00:01 | ... | 10 | ... | password | ... |
| .. | ................... | ... | ............... | ... | .......... | ... |
| 17 | 2015-06-08 00:00:01 | ... | 32 | ... | username | ... |
| 18 | 2015-06-08 00:00:01 | ... | 32 | ... | password | ... |
| 19 | 2015-06-08 00:00:01 | ... | 25 | ... | fname | ... |
| 20 | 2015-06-08 00:00:01 | ... | 25 | ... | lname | ... |
| .. | ................... | ... | ............... | ... | .......... | ... |
|----|---------------------|-----|-----------------|-----|------------|-----|
这个非常简单的例子,数据显示只有两个形式(username
和password
)上的字段。 1日他们都有一个maxlength
为10,但在8日他们的maxlength
值增加到32,并且两个新的字段被添加到表格中:fname
和lname
。
在你目前的情况下,你可以将表单域的所有值存储为字符串/文本吗? – sadaf2605
是的。我必须存储其他一些东西。因此使用JSON的想法。换句话说,我可能想要描述每个字段的内容或数据类型的性质。 –