--1.试试用这样的语句
delete a from table1 a where  exists(select phone from table2 where phone=a.phone)--2.到服务器去执行,看看是否网络的问题--3.用下面的语句检查一下,是否表有问题
   dbcc checktable('table1')
   dbcc checktable('table2')

解决方案 »

  1.   

    sql语句为:delete from table1 where phone in(select phone from table2)
    这句话没问题的
      

  2.   

    改写:delete  table1 where phone in(select phone from table2)
      

  3.   

    但是我删除一条,是可以的,一块删就不行,郁闷中!!!!,为什么啊?把delete改为select × 就可以运行
      

  4.   

    执行dbcc checktable('tabl1')
    结果是:
    服务器: 消息 8909,级别 16,状态 1,行 1
    表错误: 对象 ID 538976288,索引 ID 12340,页 ID (1:5985)。页首结构中的 PageId = (38169:24224700)。
    服务器: 消息 8928,级别 16,状态 1,行 1
    对象 ID 1936725952,索引 ID 3: 未能处理页 (1:5985)。详细信息请参阅其它错误。
    CHECKTABLE 发现了 0 个分配错误和 1 个一致性错误(在表 '(Object ID 538976288)' 中,该表的对象 ID 为 538976288)。
    'Table_UserInfo' 的 DBCC 结果。
    对象 'Table_UserInfo' 有 36890 行,这些行位于 962 页中。
    CHECKTABLE 发现了 0 个分配错误和 1 个一致性错误(在表 'Table_UserInfo' 中,该表的对象 ID 为 1936725952)。
    repair_allow_data_loss 是最低的修复级别(对于由 DBCC CHECKTABLE (CallMeDB.dbo.Table_UserInfo ) 发现的错误而言)。
    有问题
    该怎么办啊?
      

  5.   

    发现有几个数据就是删不掉,在table1中存在,就是删不掉,郁闷
      

  6.   

    --用下面的语句进行修复alter database CallMeDB set single_user
    godbcc checktable('Table_UserInfo',repair_allow_data_loss)
    go
    alter database CallMeDB set multi_user