防止并发更新数据库记录时的简单处理。

给数据表增加UpdateDatetime字段。

更新数据的时候,在Where里面带上这个字段即可。

如果数据已经被其他操作更新了,则本次更新不会产生任何效果。

 

over.

posted @ 2010-08-29 20:30 无尽思绪 阅读(436) 评论(4) 编辑 收藏

 回复 引用 查看   
#1楼 2010-08-29 20:54       
1 lz应该看看微软自动生成的dataset是如何做分布式的sql更新的。
他们使用了 update table set colulmn1 = column1_newvalue where column1 = column1_oldvalue

这样把新旧数据都放入之后,这个更新就一定是分布式安全的。

2. lz不应该把这个文章放在首页,实在是技术含量太少了。

3. 在分布式下,即时是updatedatetime,一样会出错,因为分布式的时间戳问题、并发之后,非常有可能updatedatetime也会一样。

 回复 引用 查看   
#2楼 2010-08-30 19:21 hoodlum1980      
汗,这是什么。。。lz说的肯定不是高并发。。。,可能是少数的用户随机的在使用。
 回复 引用 查看   
#3楼 2011-01-25 00:29 奔放的胸毛。      
顶一楼
 回复 引用 查看   
#4楼[楼主] 2011-01-25 09:01 无尽思绪      
确实,在大量高并发下,文中的语句肯定不适合。
真正分布式的应用,可能还有其他更多的控制。