2016-04-25 106 views
0

我無法想出一種有效構建此數據庫的方法。我有以下結構,但是,如果更新並允許編輯/更新名字和姓氏,我需要跟蹤以前的位置。SQL在更新後保留數據

用戶

  • ID(自動遞增,主)
  • 用戶名(唯一)
  • 名字
  • 位置

其中我不該部分」得到的是如何基本上歸檔用戶以前的位置。

+0

可以追加位置與完整的歷史」,newloc」和在實際代碼中只使用最後一個通過將其分解爲數組 –

+0

您可以創建第二個包含ID,位置和任何其他想要保存的數據的位置表 – Anton

回答

1

創建表PREVIOUS_LOCATION - ID, USER_ID, LOCATION, TIMESTAMP,把一個BEFORE UPDATE觸發器表USER,將插入USER_ID,當前LOCATION和插入的時間,你讓所有用戶位置

+0

感謝您的回覆 我正確地認爲ID是主鍵,user_id是外鍵? –

+0

@AndrewGittus是的,這是正確的 –

0

這有很多可能性。

一個是如下:

  1. 保存位置爲CSV,使用較新的一個是這樣,每次追加的那樣:「,newone」這樣一來,你將永遠擁有所有先前的條目。

  2. 檢索位置列表和explode它到一個數組,並使用最後一個項目。

您可以通過有兩個位置字段來增強它,一個只有當前位置,而另一個位置附加csv一個。