php里如果二个人同时 *** 一个数据库里表的字段,怎么避免

php里如果二个人同时 *** 一个数据库里表的字段,怎么避免,第1张

首先,这个问题只有在特殊情况下才算是问题,大多数情况下可以不作考虑。

然后,这是问题很难描述清楚,解决方案有多种,下面提供一种较方便易用的方式

场景(问题)描述如下:

0,用户A、B同时打开一个页面,页面显示,客户表T_CUSTOMER字段(C_NAME、C_AGE)

姓名:张三,年龄:25

1,A 将姓名“张三”改为“张三1”,然后保存

2,B 将年龄“25”改为“30”,然后保存

这样A的 *** 作就被覆盖了,姓名又变回“张三”了,大家一般怎么处处这种情况?

这里给出一个较易用的解决方案

给表添加一字段:LAST_UPDATE,即最后更新时间

回放场景

0,用户A、B同时打开一页面,面页显示:

姓名:张三,年龄:25,LAST_UPDATE:2008-10-17 13:45:00

1,A 将姓名“张三”改为“张三1”,然后保存

重点在这里:更新数据时WHERE条件里多一条件:AND LAST_UPDATE = '2008-10-17 13:45:00'

更新成功,此时触发器会将当前时间“2008-10-17 13:46:00”赋值给LAST_UPDATE

2,B 将将年龄“25”改为“30”,然后保存

B更新数据时WHERE条件里也有这个条件:AND LAST_UPDATE = '2008-10-17 13:45:00',但此时LAST_UPDATE的值已经在A修改记录时变成2008-10-17 13:46:00

下面要做的就是给出提示了:喔哟,此信息在你发呆这段时间已被人改过啦,所以你需要返工。

触发器代码如下:

===================================================

CREATE OR REPLACE TRIGGER T_CUSTOMER

BEFORE UPDATE ON T_CUSTOMER

FOR EACH ROW

/

记录最后修改时间

/

BEGIN

:NEWLAST_UPDATE := SYSDATE;

END;

===================================================

如果触发器不熟悉或者只是不喜欢用触发器,完全可以修改记录时同时给LAST_UPDATE字段赋值,以此替代触发器的作用。

使用终端密钥。

传奇dbc数据库可以加密防止修改。用户除提供用户名、口令外,还必须按照系统安全要求提供其它相关安全凭证。如使用终端密钥。

传奇系列产品的制作者是韩国企业Actoz。这一家公司成立于1996年,Actoz在1998年发布了一款名叫传奇:霸王战的电脑游戏。

1,如果你程序都是调用 webconfig里的链接字,那么只需修改webconfig即可

里面改成你sql server所在机器的ip,以及相应的用户名和密码

2,如果是access数据库,直接和代码一起上传即可,如果是sql server之类的数据库,应该和你的服务器托管商联系,看他们要你提供数据库的什么文件,比如数据库备份的bak文件,由他们帮你恢复到他们的数据库中,然后给你账号和密码

以上就是关于php里如果二个人同时 *** 一个数据库里表的字段,怎么避免全部的内容,包括:php里如果二个人同时 *** 一个数据库里表的字段,怎么避免、传奇dbc数据库如何加密防止修改、当在服务器里锁住数据库时 .net程序怎么同时让他自动只读取,不写入、不修改。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9684692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存