有时候SQL的update语句更新不成功,是什么原因?

xueyhfeng 2005-06-15 02:43:41
用update语句更新某记录的某字段的时候,有时候更新不成功,是什么原因?没有提示语句执行错误,查询分析器运行提示执行正确,直接打开这个表,直接修改里面的数据,也不行,

但这样的情况有时候又不出现,在这个表上也没有定义触发器,还能是什么原因引起的?
...全文
5207 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xueyhfeng 2005-06-16
  • 打赏
  • 举报
回复
在分析器中运行,提示 影响的行数为1行,说明更新是正确的,update语句没问题,

关键是,有时候出问题,有时候没问题,就头大了,
luohy527 2005-06-16
  • 打赏
  • 举报
回复
出现这种情况可以重启计算机。再次却运行就OK了,没有却定的原因。有时间就这样,这是计算机的通病
yifan600 2005-06-16
  • 打赏
  • 举报
回复
不太懂,帮你顶
天地客人 2005-06-15
  • 打赏
  • 举报
回复
用事件探查器,看看,
天地客人 2005-06-15
  • 打赏
  • 举报
回复
在分析器中运行看看,是不是有什么不对,或看看联机帮助!
mengzulin 2005-06-15
  • 打赏
  • 举报
回复
你都江堰没有用事务,什么会与事务有关呢??可能是你的update条件不对,没有符合修改条件的记录, 有这个“(0 row(s) affected)”提示吗?直接打开这个表,直接修改里面的数据不成功一定会提示错误。或者说是你修改的是一个数据库查看的是另外一个数据库。例如:
UPDATE [model].[dbo].[table]
SET [col]=0
select * [table]
xueyhfeng 2005-06-15
  • 打赏
  • 举报
回复
更新的字段没有外键约束,只有一个默认值约束,update更新不成功后,这个字段的值就转变为这个默认值了,

刚才查看了一下关于事务的问题,发现
---------以下引用-------------

事务并发处理会产生的问题

丢失更新

当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题、
每个事务都不知道其它事务的存在。最后的更新将重写由其它事务所做的更新,这将导致数据丢失。

--------------------------

会不会跟这个有关系?咋办呢?
maui0813 2005-06-15
  • 打赏
  • 举报
回复
@@error
xueyhfeng 2005-06-15
  • 打赏
  • 举报
回复
回复楼位错了,

事务怎么查看?还没用过 -_-
xueyhfeng 2005-06-15
  • 打赏
  • 举报
回复
楼上,表设置了主键的, 就是很平常的一个表,
tony0115 2005-06-15
  • 打赏
  • 举报
回复
哦,你的问题有意思,是有事务在自动会滚?还是有外键?

如果有外键,插入不成功,或更新不成功,应该告诉你错误的啊

这也是我们在写语句的时候,判断一句SQL是否执行成功,除了使用@@error,经常用到@@rowcount
jnnxwjh 2005-06-15
  • 打赏
  • 举报
回复
在关系数据库理论中,表中不允许有重复的记录.
如果你的表中没设置主关键字,有可能产生重复记录.
查看一下吧.
wangdehao 2005-06-15
  • 打赏
  • 举报
回复
不会,帮顶
xueyhfeng 2005-06-15
  • 打赏
  • 举报
回复
还发现一个问题就是 数据库中本来应该是系统存储过程的‘dt_xxxxxx’这些存储过程,全都变成用户存储过程了,这个有没有什么影响?

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧