我看到很多關於在mysql中保留記錄歷史記錄的問題。但是,我不太確定他們適合我的情況。如何在mysql中保留數據歷史記錄?
我正在開發一個有很多用戶信息的申請表。到目前爲止,我必須把它歸到12桌,即使他們大多有1:1間的關係,但我以爲他們會在以後的使用好:
- 用戶(ID,全名,用戶名,電子郵件,CreatedDate ,UpdatedDate,...)
- 家庭(ID,用戶ID,姓名,關係,工作,...)
- 地址(ID,用戶ID,路,區,市,...)
- ..
當客戶端填寫表單中的所有字段時,他們有兩個選項,第一個他們可以將其保存爲草稿,其次,他們可以確認發送應用程序並且不能再更改它。
到目前爲止,我已經做了一些研究。他們有很多方法來做到這一點。例如,我可以用所有附加字段複製所有表格; VERSIONID。但由於桌子數量巨大,我認爲這不是一個好主意。
所以,我認爲是將VersionId
添加到每個現有的表。當他們將表格保存爲草稿時,我只會在不觸及VersionId
字段的情況下放置信息,但是,只要用戶確認提交應用程序,我就會將VersionId
增加1。
任何建議都會非常受歡迎。
很棒的建議。但是,如果他們在下一年再次應用該應用程序,則在這種情況下,數據庫將有兩行包含狀態歷史記錄。所以,我將不得不創建另一列來跟蹤,哪一個更近,不是嗎? – lvarayut 2014-12-11 02:48:43
這個想法是,你將有許多行的狀態歷史。這會記錄他們對記錄所做的所有更改,'updateDate'顯示更改的順序。 – Barmar 2014-12-11 02:50:22
因爲我有很多表格;一個地址,一個家庭等,我想加入所有的表格,以便獲得客戶提交的完整信息,並以我想要查看的特定版本。你在這種情況下建議什麼? – lvarayut 2014-12-11 03:48:48