数据库 ID 12,对象 ID 2,索引 ID 0。链的链接不匹配。(1:528)->next = (1:121),但 (1:121)->prev = (1:

数据库 ID 12,对象 ID 2,索引 ID 0。链的链接不匹配。(1:528)->next = (1:121),但 (1:121)->prev = (1:,第1张

报错的时候 你要看上面的 有提示那张表 如:

bi_t_item_sup' 的 DBCC 结果。

服务器: 消息 8935,级别 16,状态 1,行 1

表错误: 对象 ID 729769657,索引 ID 1。上一页链接 (1:40368)(位于页 (1:40082) 上)与父代所预期的此页的上一页 (1:40373) 不匹配。(父代 (1:40425),槽 195。)

服务器: 消息 8936,级别 16,状态 1,行 1

表错误: 对象 ID 729769657,索引 ID 1。B 树链的链接不匹配。(1:40373)->next = (1:40082),但 (1:40082)->Prev = (1:40368)。

服务器: 消息 8935,级别 16,状态 1,行 1

表错误: 对象 ID 729769657,索引 ID 1。上一页链接 (1:40328)(位于页 (1:40083) 上)与父代所预期的此页的上一页 (1:40402) 不匹配。(父代 (1:40425),槽 183。)

我也是这个问题 但是不知道怎么解决! 因为那张表都查询不了了只能在企业管理器里面看到数据

但是那么多 怎么找……

思路:

1、首先搞清楚所有表的主外键关系

2、取消全部表的主键自增标识列,方便你后续的直接修改ID

例如:

exec sp_configure 'allow updates',1

reconfigure with override

GO

----取消标识列标记

update syscolumns set colstat = 0 where id = object_id('表名') and colstat = 1

GO

----恢复标识列标记

update syscolumns set colstat = 1 where id = object_id('表名') and name = '标识列名称'

3、写个SQL脚本,修改ID,在修改的时候,一并更新全部表里的此ID值

例如:

declare @old_id as int,@new_id as int

select @old_id=12,@new_id=123

update 表名1 set id=@new_id where id=@old_id

update 表名2 set id=@new_id where id=@old_id

update 表名3 set id=@new_id where id=@old_id

.....

update 表名n set id=@new_id where id=@old_id

1、从phpmyadmin导出数据库a的所有表和数据; 2、再使用phpmyadmin或mysql的source 导入数据; 出错了,错误就不贴出来了。 我再去看它的sql,发现是primary key的问题: CREATE TABLE IF NOT EXISTS `api_log` ( `id` int(11) NOT NULL auto_increment, `api` varchar(255) NOT NULL, `create_time` timestamp NOT NULL default CURRENT_TIMESTAMP) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=22607


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6706546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存