两个线程同时执行相同的update语句,数据库会出现问题吗

a线程中的sql:update表table1set字段a=’新值a‘where字段b=‘1’limit500;b线程中的sql:update表table1set字段a=’... a线程中的sql:update 表table1 set 字段a = ’新值a‘ where 字段b = ‘1’ limit 500;

b线程中的sql:update 表table1 set 字段a = ’新值b‘ where 字段b = ‘1’ limit 500;
注意其中只是对前500条更新;
这样两个线程同时执行这条sql更新语句,会出现数据库数据错误码?
展开
 我来答
side86
2013-06-24 · 超过16用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:33.3万
展开全部
网络数据库都会处理并发的问题 不会出现错误 只会出现数据异常
两条语句那条线程优先到数据库 那最后一条就是数据库的结果
可以实验下就知道结果了
匿名用户
2013-06-22
展开全部
出错应该不会出错. 就是其中一个线程的修改, 会被另外一个线程的修改所覆盖掉.
更多追问追答
追问
覆盖?不会覆盖吧?我是用的limit 500的
追答

a线程 更新 limit 500

b线程 更新 limit 500
都是相同的行, 怎么不覆盖呢?

你又没有任何的 Order by 语句。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
此ID很飘逸
2013-06-22 · 超过18用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:37.1万
展开全部
不可能同时,怎么都会有一个先开始的线程,先开始的会锁住资源,先进行update,完了释放资源,第二个线程接着执行update
更多追问追答
追问
这个我知道,只是想证实下,在上面的两个线程并发循环不断执行的情况下,db的数据是否会出错?应该不错吧?
追答
不会出错,如果一个线程卡住了,那就一直锁着了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dong_1984dd
推荐于2016-01-12 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1070
采纳率:100%
帮助的人:230万
展开全部
  1. 前提是2个update 同时获取了更新数据,

  2. 这个一般在sql 中可以事务处理,如下SQL

  3. begin tran

  4.   update test

  5.   set a=1

  6. where a<>1

  7. commit tran

  8. 这样就不影响数据,因为第二个更新事务必须等待第一个完成,才能操作事务进行更新动作

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式