收费 qrcode 识别库 提供delphi demo ,c语言demo 需要的联系,一个52KB的库搞定二维码识别哦 QQ 1565498246
作品1: YesReport所见所得的WEB报表设计、打印插件,数据源不直接连接数据库,而是URL,支持PHP,JSP,ASP等所有支持JSON的后端,简单易学。

               免费下载YesReport插件测试版


作品2:立象条码打印机打印QRCODE条码。 免费下载演示版
作品3: 简单的开关按钮 源码下载
作品4:delphi陷阱大全3下载PDF
delphi陷阱大全4,修订错误下载更新pdf
作品5:ICS组件移植到lazarus 下载源码
作品6: lazarus入门教程300页下载PDF
作品7: Jar重复包下载工具下载来看看
作品8: 小小说编辑器用用看
作品9: 单据编号大漏洞在线阅读pdf
友情链接:
易博龙/英巴卡迪诺 Delphi盒子 cnpack delphi园地 不得闲 万一的博客 咏南的Delphi博客 D10.天地弦 delphi IOCP 楠楠 星五
下面是优秀开源组件
delphi iocp framework zeoslib zeoslib forum ICS JEDI Torry Delphiarea CSDN Delphi RealThinClient QDAC
下面各位基本是来自盛大的: savetime 橙子 张无忌 武稀松 阿杜

steven's blogs

lazarus,delphi,develop

php mysql 丢失更新

php mysql 丢失更新问题,搜索整个互联网,很少有讲到,也许和php程序员出身一般都是非科班出身有关系吧。

另外php程序一般都是简单数据,很少有并发一致性问题,所以大家都没有谁专门提出这个问题。

 

这个问题无法依靠数据库的并发机制进行控制,因为不是一回事。

丢失更新:(Lost Update) 
事务T1读取了数据,并执行了一些操作,然后更新数据。事务T2也做相同的事,则T1和T2更新数据时可能会覆盖对方的更新,从而引起错误。

这里的事务不是指的数据库事务。

可以理解成两个不同的客户端。

 

举例:

在时间T1

 

PC机1 客户读到一条 message      | pc机2 客户读到同一个message

修改                            | 修改

时间t2

保存                          时间t3

                            | 保存

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

 

请问这个时候数据库里面应该以谁保存的为准?

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

这个问题,只出现在多用户环境,并且多用户修改一个数据库记录。

解决这个问题有两种方式:

方法1, 简单数据,直接用 where 语句,加自己读到的old 数据作为条件,防止其他用户更新了

自己覆盖其更新。

 

方法2是,复杂数据,用一个integer ,或者longint字段version,控制版本。

每次更新的时候,执行:

update table1 set version=version+1 where version=修改前的version

 

 控制了这个问题,会可能导致后更新的用户操作失败。

处理方式有两种:

直接刷新出最新记录。

提示用户更新失败,手动刷新最新记录。

 

 

 

 

 

 

posted on 2013-08-21 15:33  stevenlaz  阅读(565)  评论(0编辑  收藏  举报

导航

Counter
Clarion Discount Hotel