gpt4 book ai didi

database-design - 版本控制数据库?

转载 作者:行者123 更新时间:2023-12-02 02:21:02 25 4
gpt4 key购买 nike

我正在为一家体育俱乐部制作一个数据库,里面有教练和球员。球员能够创造自己,教练也能够创造和更新球员。

我如何进行编辑部分,以便当时只有一名教练可以更新球员信息。我在考虑使用版本控制。在每个表中制作一个版本行,并在编辑时更新它,以确保当时只有一个人可以编辑它。

关于如何做到这一点还有其他建议吗?

最佳答案

是的。你的建议是可行的。

假设您从数据库中加载一条 id = 1 和 version = 1 的记录到您的应用程序中。然后你修改它。当发出 UPDATE SQL 来更新更改时,您还应该更新并包括对版本列的检查。

更新 SQL 应该如下所示:

update ITEM set REMARK="SOME UPDATE REMARK!!" , VERSION= @origianl_vesrion +1 
where ITEM_ID=1 and VERSION=@origianl_vesrion

注意:@origianl_vesrion 是加载到您的应用程序时版本列的值)

如果另一个事务在您提交之前更新并提交同一行,则已发出的 SQL 的更新行数将为零,因为该事务增加了 VERSION 列,并且不再等于 1 .

因此,如果更新行计数为零,您可以显示一条错误消息,如“有人也更改了相同的记录,请重试”

关于database-design - 版本控制数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8165093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com