gpt4 book ai didi

mysql - 用户和管理员在数据库中插入数据时发生冲突的问题,请参阅下面的说明

转载 作者:行者123 更新时间:2023-11-29 14:48:20 32 4
gpt4 key购买 nike

我有一种情况,当管理员在表“users”中编辑用户“A”的详细信息,同时用户“A”本身在表 users 中编辑其详细信息时,会发生什么情况。会体现谁的效果..又可以做些什么来使其具体到某个人或给予优先权?

感谢和问候...

最佳答案

正如 Michael J.V. 所说,最后一个获胜 - 除非您有锁定机制,或者构建应用程序逻辑来处理这种情况。

锁定机制往往会显着降低数据库的性能。 http://dev.mysql.com/doc/refman/5.5/en/internal-locking.html概述了 MySQL 中的选项。但是,您描述的场景 - 管理员访问记录,锁定该记录直到他们修改记录 - 将导致各种性能问题。

另一种方法是在写回记录之前检查“脏”记录。伪代码:

User finds record
Application stores (hash of) record in memory
User modifies copy of record
User instructs application to write record to database
Application retrieves current database state, compares to original
If identical
write change to database
If not identical
notify user

在此模型中,管理员的更改将触发“通知用户”流程;您的应用程序可能决定停止写入,或强制用户在修改记录并重试之前刷新数据库中的记录。

更多代码,但引起性能/可扩展性问题的可能性要小得多。

关于mysql - 用户和管理员在数据库中插入数据时发生冲突的问题,请参阅下面的说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6371604/

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