2010-08-26 119 views
1

我想在MySQL表中實現一個基本的版本控制系統。讓我們設想一個簡單的2列表:名稱(pk)和價格。我想我會簡單地添加一列'版本'並將其添加到主鍵。然後我會捕獲所有的UPDATE,然後做一個插入,增加版本號。Mysql觸發器做INSERT而不是UPDATE

首先,這是可能的嗎?我可以做一個觸發器BEFORE UPDATE並做一個插入和取消更新?語法是什麼?第二,這個想法好嗎?你會怎麼做到這一點?

感謝你的幫助, 巴特

回答

2

無法取消更新。我會保留與「主」表分開的版本,並在主表更新時向此表中插入新記錄。甚至更簡單 - 使用新的版本號插入,而不是沒有任何觸發器的更新。

+0

謝謝你的回答。我會去一個單獨的桌子。我更喜歡不使用插入新版本號的人,這很容易出錯。 – Barth 2010-08-26 08:18:38

+0

同意。如果您不是代碼的獨家所有者,則單獨的表格更安全。 – spbfox 2010-08-26 08:40:26