比如给投票数加一有并发性问题吗?
我把投票选项的ID传给存储过程,会有并发性问题吗?
加 lock 或者添加SQL事务...
update A set aa=1 where oid=1
update B set bb=2 where oid=2
举个很简单的例子,如果你的某项操作要同时执行上面的那两个update语句,如果你不用事务就有可能数据不同步,在你执行完第一个update时,突然停电,就会出现数据异常
当然存在,除了select,诸如insert,update,delete都会涉及并发问题
先说你的例子:
如果使用update a set b=n(你要负的值) where c=2则会有并发性问题
如果使用update a set b=b+1 where c=2则不会
并发问题就是要解决同时访问修改的问题
并发问题就是要解决同时访问修改的所带来的问题
一般在数据库级已经解决了,但如果你的设计和程序不当,也会带来并发性问题
锁 事务回滚
比如有的程序要插入一条记录会先查询最大id号然后再+1后该条记录,但是如果在插入前正好也有人也要插入一条记录……
数据库使用事务,还有程序使用事务,加上备份还有日志
ding yi xia ...
在你需要update的table中加入timestamp字段..然后在你需要更新的时候写update tableName set title=aa where myTimeStamp=@timestamp