Update语句的咄咄怪事!!!

mycsdn2008 2003-11-27 02:18:56
Update语句的咄咄怪事!!!

今天突然发现我的数据库出问题了,
sql语句:
update tablename set cname='111' where id>5000
执行后却把id<=5000的记录的cname列值全部更新为111,但我给的条件明明是id>5000啊,出了什么事情????????????????反复测试均是这种现象

select * from tablename where id>5000 却能正确选择出结果。

说明:ID是主键,INT型
我的 sql2000没有打补丁,测试用,所以没有打补丁,但以前都好好的,今天突然出现此怪事,汗!


...全文
91 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mycsdn2008 2003-12-01
  • 打赏
  • 举报
回复
我打上sql2000 sp3就好了
hglhyy 2003-11-27
  • 打赏
  • 举报
回复
开眼界,有这种事!

与 Microsoft 联系!
mycsdn2008 2003-11-27
  • 打赏
  • 举报
回复
我是通过查询分析器执行的
还有一个信息提供,我恢复这个数据库时,win2000日志提示:

错误: 15457,严重度: 0,状态: 1
已将配置选项 'show advanced options' 从 1 改为 1。请运行 RECONFIGURE 语句以安装。
aierong 2003-11-27
  • 打赏
  • 举报
回复
是不是有触发器

在修改数据
mycsdn2008 2003-11-27
  • 打赏
  • 举报
回复
关键是这种现象很奇怪,可能是数据库设置被更改了
Benimarunikado 2003-11-27
  • 打赏
  • 举报
回复
--试试这样行不行:

既然你执行

select * from tablename where id>5000

结果是正确的;那么 UPDATE 语句这样来写:

UPDATE TABLENAME
SET CNAME='111'
WHERE ID IN (SELECT ID FROM TABLENAME WHERE ID>5000)

--对你解决这种奇怪问题有帮助。
lvltt 2003-11-27
  • 打赏
  • 举报
回复
这几天总见奇怪的事
pengdali 2003-11-27
  • 打赏
  • 举报
回复
库搞错了?
wzh1215 2003-11-27
  • 打赏
  • 举报
回复
没见过!
txlicenhe 2003-11-27
  • 打赏
  • 举报
回复
那真是怪事了。

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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