楼上说的对
估计是你改到UNIQUE的键值了。又有重复

解决方案 »

  1.   

    update 表名 set 要修改的字段=修改后的值 where 主键=主键的值
    即:
    update nfgs_jbqk set zs='包头市' where nbxh=1234567
    zs并不是主键。但是如果我修改别的字段就可以如:
    update nfgs_jbqk set jydz='包头市' where nbxh=1234567
      

  2.   

    补充一下,
    zs仅是一个varchar普通字段,无论改成什么值都不行的。
      

  3.   

    你可以用 select * from nfgs_jbqk where nbxh=1234567查到记录吗??另外建议你重建 索引,应该可以解决问题
      

  4.   

    select * from nfgs_jbqk where nbxh=1234567
    可以查出来
      

  5.   

    建议用SQL维护一下数据库,  重整 index ,主键...
      

  6.   

    This article was previously published under Q185964
    BUG #: 17927 (SQLBUG_65) 
    SYMPTOMS
    Using a DELETE WHERE CURRENT OF <cursor> statement can cause several server instabilities, including transient corruption. This can appear in the error log with the following error messages: Error 605 Attempt to fetch logical page %ld in database '%.*s' belongs to object '%.*s', not to object '%.*s'.Error 644 The non_clustered leaf row entry for page %ld row %d was not found in index page %ld indexid %d database '%.*s'Error 624 Attempt to retrieve row from page via RID failed because the requested RID has a higher number than the last RID on the page. %S_RID.%S_PAGE. 
    These errors are only transient and do not appear if a database consistency check is run. In addition to the corruption, the server can stop responding (hang) and may also experience a handled access violation. 
    WORKAROUND
    Adding an unique index to the table can greatly reduce the occurrence of this problem. You can also work around the problem by rewriting the Transact-SQL to avoid the use of a DELETE WHERE CURRENT OF <cursor> statement.