phpwind87关于pw_merge_tmsgs或pw_merge_posts表报错1168

nable to open underlying table which is differently defined or of non-MyISAM type or doesn’t exist ( 1168 ) 

解决方案如下 
报上面这个问题主要是因为pw_posts或pw_tmsgs(看你错的是那张表)-含这两张表的分表,其中肯定是表的字段或者结构有了变动,但是你的pw_merge_tmsgs和pw_merge_posts 结构已经生成了,所以产生了上面1168问题, 
我最近修改会员端口的时候更新了port字段在pw_posts和pw_tmsgs,导致了和大家一样的问题1168.不管我去操作表的任何功能都显示这个问题,非常郁闷.论坛也好像一直没有好的解决办法(可能我没有看到),下面直接写解决的方式 
本地测试环境 
如图:(这张图下面还是还有pw_posts,pw_posts1 不截图了 
 



1,打开你的数据库安装的目录..\MySQL\data\pw87\下有pw_merge_tmsgs和pw_merge_posts 实际文件 
pw_merge_tmsgs.MRG,pw_merge_tmsgs.frm,pw_merge_posts.frm,pw_merge_posts.MRG 
打开你出错的表的对应.MRG文件,如我错误的是pw_tmsgs表那么打开pw_merge_tmsgs.MRG,用记事本打开 
如图 
 

将第一行和第二行 
./pw87/pw_tmsgs 
./pw87/pw_tmsgs1 

先删除(等会还需要),保存然后打开mysql的第三方工具phpmyadmin等 
你可以发现你现在可以修改这张表了,马上去匹配一下 
pw_merge_tmsgs或pw_merge_posts 
 
pw_tmsgs或pw_posts (含分表,不然出错)的结构和字段 
同步表后, 

将第一行和第二行 
./pw87/pw_tmsgs 
./pw87/pw_tmsgs1 
添加到刚才删除的pw_merge_tmsgs.MRG(pw_merge_posts.MRG)中保存 
维护表->检查表,OK!正常了! 

标签

发表评论

Comment List(1)