首先,这个问题只有在特殊情况下才算是问题,大多数情况下可以不作考虑。
然后,这是问题很难描述清楚,解决方案有多种,下面提供一种较方便易用的方式
场景(问题)描述如下:
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程序怎么同时让他自动只读取,不写入、不修改。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)