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没有打补丁,测试用,所以没有打补丁,但以前都好好的,今天突然出现此怪事,汗!

解决方案 »

  1.   

    你的这个问题的确有点怪。本来我想问你是否id的类型有变化,谁知你强调了id的属性。看来,只有可能是你的SQL数据库出了问题。把id的类型改成其它类型,再改回int型,这样可以实现强制转换。如果还是不行,只会尝试重装数据库了。
      

  2.   

    把sql语句删除,重新再敲一遍。
      

  3.   

    我是通过查询分析器执行的
    还有一个信息提供,我恢复这个数据库时,win2000日志提示:错误: 15457,严重度: 0,状态: 1
    已将配置选项 'show advanced options' 从 1 改为 1。请运行 RECONFIGURE 语句以安装。