如何修复有问题的MySQL InnoDB表?
我们公司使用SailPoint IIQ作为IAM解决方案 尝试运行时:如何修复有问题的MySQL InnoDB表?,mysql,innodb,mysqlcheck,Mysql,Innodb,Mysqlcheck,我们公司使用SailPoint IIQ作为IAM解决方案 尝试运行时: delete IdentityRequest* 我得到一个错误sailpoint.tools.GeneralException:集合的索引列为null:sailpoint.object.IdentityRequest.items 执行select*from spt\u identity\u request\u项,其中id为null不返回任何结果 我正在寻找救命稻草,并试图修复桌子,以防这是导致问题的原因。他们用于数据库的表类
delete IdentityRequest*
我得到一个错误sailpoint.tools.GeneralException:集合的索引列为null:sailpoint.object.IdentityRequest.items
执行select*from spt\u identity\u request\u项,其中id为null代码>不返回任何结果
我正在寻找救命稻草,并试图修复桌子,以防这是导致问题的原因。他们用于数据库的表类型是innodb
维修表spt\u标识\u请求\u项目
生成一条注释,说明表的存储引擎不支持修复
我还尝试了以下命令:
sudo mysqlcheck--repair--databaseidentityq-u identityq-p
当它运行时,它给出了一系列注释:
注意:表的存储引擎不支持修复
这个命令实际上是在修复问题吗?如果没有,是否有方法修复此问题以及如何修复?看起来上面的问题是使用ORM执行删除操作,并且不是在sql中出错,而是在应用程序级别出错:
sailpoint.tools.GeneralException:
null index column for collection: sailpoint.object.IdentityRequest.items
换句话说,它可能在到达SQL级别之前就失败了,因此执行
修复表
不会产生任何后果。也许您需要在sailpoint.object.IdentityRequest.items
中指定如何处理M2M表的删除。例如,我的猜测是,它不知道是取消还是删除FK关系中引用的对象。请提供SHOW CREATE TABLE
。