SQL在更新后保留数据
我无法想出一种有效构建此数据库的方法。我有以下结构,但是,如果更新并允许编辑/更新名字和姓氏,我需要跟踪以前的位置。SQL在更新后保留数据
用户
- ID(自动递增,主)
- 用户名(唯一)
- 姓
- 名字
- 位置
其中我不该部分”得到的是如何基本上归档用户以前的位置。
创建表PREVIOUS_LOCATION - ID, USER_ID, LOCATION, TIMESTAMP
,把一个BEFORE UPDATE
触发器表USER
,将插入USER_ID
,当前LOCATION
和插入的时间,你让所有用户位置
感谢您的回复 我正确地认为ID是主键,user_id是外键? –
@AndrewGittus是的,这是正确的 –
这有很多可能性。
一个是如下:
保存位置为CSV,使用较新的一个是这样,每次追加的那样:“
,newone
”这样一来,你将永远拥有所有先前的条目。检索位置列表和
explode
它到一个数组,并使用最后一个项目。
您可以通过有两个位置字段来增强它,一个只有当前位置,而另一个位置附加csv一个。
可以追加位置与完整的历史”,newloc”和在实际代码中只使用最后一个通过将其分解为数组 –
您可以创建第二个包含ID,位置和任何其他想要保存的数据的位置表 – Anton