不能用锁定来解决吗?请教。100分送上。如果不够再开新贴。 个人都选择自己的数据到临时表。只有update者才更新实际数据就可以了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 别的人是否要判断临时表里是否有已经被选取的?update结束以后临时表里的内容是否需要更新? MySQL不太清楚Postgresql可以用锁表实现的MySQL没有事务的概念吗? mysql有事物功能。能把具体细节告诉我一下吗?用什么隔离级?锁定一条记录别人就不能选中这条记录进行更新。 Oracle or PostgreSQL:begin(事务开始)select * from table where ... for update( no wait);update...delete...insert...commitend(事务结束) 问题是,在这个事务的过程中别人是可以update这个记录的,只不过要等这个事务结束了。我希望的是在这个事务开始以后别人就无法选择这个记录进行update。 那就不要no wait嘛第二个用户更新时,发现已有用户在使用,就马上返回消息啦如果你的事务都结束了,还不允许别人更新,那也太狠了点儿吧 刚才错了,是应该要no wait no wait 就是不等待第二个执行的事务发现该数据被lock后,不会等待第一个处理结束后再更新它会马上返回消息,而不能更新数据这样应该比较好些最开始应该已经把该数据读出了,要做交费处理时先select * form table for update no wait然后比较一下内容是否变化没有就update有就返回消息,要用户确认就是第一次数据读取和交费处理之间肯定是有不定时间间隔的,只有通过数据内容来判断 楼上的处理思想是正确这是保证交互性和完整性的最佳处理方法VFP,PB和DEPHI里的远程更新都是用这种比较新旧的方法。MYSQL 里没有NOWAIT,也用不着NOWAIT。因为这个事务中没有交互性的等待,速度很快,即使遇到一些死锁也可以通过设置innodb_lock_wait_timeout 来避免。 MySQL中插入文字出错,什么问题啊? mysql添加索引时会不会加锁 求助,据说C#使用MySql不需要安装任何东西只需要导入一个DLL文件就可以了,不知道是不是真的 存储过程运行中的一个问题 asp无法读出mysql数据库的text,longtext等字段内容 mysqldump 导出指定行 求一复合distinct语句 mysql数据库备份与导入的时候数据会丢失,咋回事? mysql5.0的中文问题求助!!! 大家用什么mysql管理器? 急!!!在LINUX下如何清除MYSQL的当前连接呀? MYSQL的查询速度问题,一起探讨,对大家都有好处!
Postgresql可以用锁表实现的
MySQL没有事务的概念吗?
select * from table where ... for update( no wait);
update...
delete...
insert...
commit
end(事务结束)
第二个用户更新时,发现已有用户在使用,就马上返回消息啦如果你的事务都结束了,还不允许别人更新,那也太狠了点儿吧
第二个执行的事务发现该数据被lock后,不会等待第一个处理结束后再更新
它会马上返回消息,而不能更新数据这样应该比较好些
最开始应该已经把该数据读出了,要做交费处理时
先select * form table for update no wait
然后比较一下内容是否变化
没有就update
有就返回消息,要用户确认就是第一次数据读取和交费处理之间肯定是有不定时间间隔的,只有通过数据内容来判断
这是保证交互性和完整性的最佳处理方法
VFP,PB和DEPHI里的远程更新都是用这种比较新旧的方法。MYSQL 里没有NOWAIT,也用不着NOWAIT。
因为这个事务中没有交互性的等待,速度很快,即使遇到一些死锁
也可以通过设置innodb_lock_wait_timeout 来避免。