关于php几个人同时修改数据的信息
PHP 后台多人操作时怎样控制不能同时编辑
用AJAX,当第一位用户进去编辑的时候,就开始记录这个用户的ID。当其他用户进去后台编辑的时候AJAX实时获取,就可以提醒用户已经有人在编辑了,同时限制其他用户编辑
成都创新互联公司自2013年创立以来,先为饶河等服务建站,饶河等地企业,进行企业商务咨询服务。为饶河企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
php里如果二个人同时操一个数据库里表的字段,怎么避免
首先,这个问题只有在特殊情况下才算是问题,大多数情况下可以不作考虑。
然后,这是问题很难描述清楚,解决方案有多种,下面提供一种较方便易用的方式
场景(问题)描述如下:
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
:NEW.LAST_UPDATE := SYSDATE;
END;
===================================================
如果触发器不熟悉或者只是不喜欢用触发器,完全可以修改记录时同时给LAST_UPDATE字段赋值,以此替代触发器的作用。
PHP+MYSQL 环境下,两个管理员同时编辑一条数据,其中一个管理员撤销操作后如何恢复
利用mysql数据库的增量备份功能,先开启增量备份在mysql的配置文件中加上一句log-bin=d:/binlog/mylog//指定备份文件存放目录,重启mysql会在binlog目录下看到mylog.index索引文件和mylog.000001存放操作的文件。这样你的每个不是查询的操作将会被记录到日志文件中。要恢复可以根据时间和位置进行恢复。
mysqlbinlog --stop-datetime="时间" d:/binlog/mylog.000001 | mysql -uroot -p或
mysqlbinlog --stop-postion="位置" d:/binlog/mylog.000001 | mysql -uroot -p均可实现你要的功能!欢迎采用~~
新闻标题:关于php几个人同时修改数据的信息
当前URL:http://azwzsj.com/article/doipeso.html