dede5.0中的dede_member_perinfo错误

作者:阿川 发布时间:July 14, 2009 分类:编程开发 点击:4533

今天偶然拿到一份dede5.0的PC数据,没有备份.只有mysql的data打包,我将一切准备好以后,在phhmyadmin中却发现了个问题.错误如下:

dede_member_perinfo  Table 'iscom.dede_member_perinfo' doesn't exist


去官方找修复信息.找了半天没找到,看来只有自己动手了.
首先咱们上服务器,找到数据库的data目录,然后再找到咱们自己用的数据库.然后打开,发现里面同样的文件,却有3个不同的后缀,分别是frm,MYD和MYI.但是唯独只有dede_member_perinfo这个家伙只有一个frm,于是乎...
找到问题就好办了.咱们先把这个dede_member_perinfo1.frm删除,删除以后咱们再看phpmyadmin.发现不提示错误信息了.然后再找到dede5.0的安装数据,查找dede_member_perinfo,找到

DROP TABLE IF EXISTS `#@__member_perinfo`;
CREATE TABLE `#@__member_perinfo` (
  `id` int(11) NOT NULL default '0',
  `uname` varchar(20) NOT NULL default '',
  `sex` char(2) NOT NULL default '1',
  `birthday` date NOT NULL default '0000-00-00',
  `weight` varchar(10) NOT NULL default '',
  `height` varchar(10) NOT NULL default '',
  `job` varchar(10) NOT NULL default '',
  `province` smallint(5) unsigned NOT NULL default '1',
  `city` smallint(6) NOT NULL default '0',
  `myinfo` varchar(250) NOT NULL default '',
  `tel` varchar(30) NOT NULL default '',
  `oicq` varchar(15) NOT NULL default '',
  `email` varchar(50) NOT NULL default '',
  `homepage` varchar(50) NOT NULL default '',
  `showaddr` smallint(6) NOT NULL default '0',
  `address` varchar(100) NOT NULL default '',
  `fullinfo` mediumtext,
  PRIMARY KEY  (`id`),
  KEY `sex` (`sex`),
  KEY `birthday` (`birthday`)
) ENGINE=MyISAM DEFAULT CHARSET=#~lang~#;

将这段提取出来.因为我们刚刚将dede_member_perinfo删除了,所以对应的语句咱们也删除先,第一行

DROP TABLE IF EXISTS `#@__member_perinfo`;

去掉,
然后找到最后一句

ENGINE=MyISAM DEFAULT CHARSET=#~lang~#;

,将CHARSET=#~lang~#;改成你的字符编码.比如我用的是gbk,那么就改成CHARSET=gbk;
然后在sql中执行......
OK.问题解决!其他有待补充
<>

标签: none

添加新评论 »