如果我理解正確,我可能會做這樣的事情:
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的想法。換句話說,我可能想要描述每個字段的內容或數據類型的性質。 –