SQL在更新后保留数据

问题描述:

我无法想出一种有效构建此数据库的方法。我有以下结构,但是,如果更新并允许编辑/更新名字和姓氏,我需要跟踪以前的位置。SQL在更新后保留数据

用户

  • ID(自动递增,主)
  • 用户名(唯一)
  • 名字
  • 位置

其中我不该部分”得到的是如何基本上归档用户以前的位置。

+0

可以追加位置与完整的历史”,newloc”和在实际代码中只使用最后一个通过将其分解为数组 –

+0

您可以创建第二个包含ID,位置和任何其他想要保存的数据的位置表 – Anton

创建表PREVIOUS_LOCATION - ID, USER_ID, LOCATION, TIMESTAMP,把一个BEFORE UPDATE触发器表USER,将插入USER_ID,当前LOCATION和插入的时间,你让所有用户位置

+0

感谢您的回复 我正确地认为ID是主键,user_id是外键? –

+0

@AndrewGittus是的,这是正确的 –

这有很多可能性。

一个是如下:

  1. 保存位置为CSV,使用较新的一个是这样,每次追加的那样:“,newone”这样一来,你将永远拥有所有先前的条目。

  2. 检索位置列表和explode它到一个数组,并使用最后一个项目。

您可以通过有两个位置字段来增强它,一个只有当前位置,而另一个位置附加csv一个。