惊天疑案!求救,数据库修复后,无法查询删除的纪录却还在数据库里面

软银云商包装 2007-08-22 12:51:30
本来有父子的约束,单号(单据表)-> 单号(单据明细表),
在上次数据库出问题DBCC修复后,单据表里的父纪录居然不见了(例如单号为5688),可单据明细表里的子纪录还在,我想插入单据表中单号为5688让它对应上,可提示违反唯一键约束,5688重复,可我select 、delete 5688都得到0条纪录。
这说明单号为5688的纪录还在,可它却无法查询或者删除更新,有什么办法可以修复吗?我刚才DBCC checktable 都是没有找到错问,求救!
...全文
147 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengmou 2007-08-22
  • 打赏
  • 举报
回复
邪门
nextflying 2007-08-22
  • 打赏
  • 举报
回复
like %68%一下
软银云商包装 2007-08-22
  • 打赏
  • 举报
回复
回楼上的,不是整数,我只是为了表达方便,我是用'5688'来查询
昵称被占用了 2007-08-22
  • 打赏
  • 举报
回复
如果上面结果属实,说明单据表的主键索引有问题了,最简单的方法是
删除引用 单据表的主键 的所有外键定义
删除 单据表的主键
重新建立 单据表的主键
重新建立 外键
补回 数据

昵称被占用了 2007-08-22
  • 打赏
  • 举报
回复
先确认下你说的情况属实:
单号什么数据类型,如果是整数是不是用 单号=5688 查询
如果是字符型可以试下用 rtrim(ltrim(单号))='5688' 查询,或者用 单号 like '568%' 看看能不能5688的记录



brother2605 2007-08-22
  • 打赏
  • 举报
回复
用DBCC 修复数据可能会产生数据丢失,先去掉约束,补上数据后再加上约束

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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