灰儿 发表于 2012-6-3 08:22:34

dedecms导入时只有63个表,dede_purview这个表不能导入的问题

我又遇到一个问题,dede数据库上传空间后模块访问出错。查了很久,发现是dede_purview表开始的表都没有上传成功。本来有86个表,结果传到第63个就表为止就终止了。最后发现是dede_purview表引起的问题。以下是解决办法
SQL 查询:
-- --------------------------------------------------------
--
-- 表的结构 `dede_purview`
--
CREATE TABLE IF NOT EXISTS `dede_purview` (
`mid` mediumint( 8 ) DEFAULT '0',
`typeid` smallint( 5 ) DEFAULT '0',
`rank` smallint( 6 ) DEFAULT NULL ,
`pkey` varchar( 30 ) CHARACTER SET latin1 NOT NULL ,
`pvalue` text NOT NULL ,
KEY `pkey` ( `pkey` ) USING BTREE) ENGINE = MYISAM DEFAULT CHARSET = utf8;

MySQL 返回:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8' at line 7
●把USING BTREE 去掉, 这是mysql server不兼容造成的。
●语句应该改成:
CREATE TABLE IF NOT EXISTS `dede_purview` (
`mid` mediumint( 8 ) DEFAULT '0',
`typeid` smallint( 5 ) DEFAULT '0',
`rank` smallint( 6 ) DEFAULT NULL ,
`pkey` varchar( 30 ) CHARACTER SET latin1 NOT NULL ,
`pvalue` text NOT NULL ,
KEY `pkey` USING BTREE ( `pkey` )) ENGINE = MYISAM DEFAULT CHARSET = utf8;
建议在数据库备份后修改sql备份。以免上传后缺少再补上传数据库

灰儿 发表于 2012-6-3 08:23:39

在恢复dede 数据库时老是出错,要不就是“不选结构”恢复后系统设置没有恢复,不要就是先了“恢复结构”后栏目又没有恢复,搞的很烦,后来解决了。

主要问题就在于dede_purview这个表的兼容性问题

我们可以在备份的.sql中找到这个表。然后

CREATE TABLE IF NOT EXISTS `dede_purview` (
`mid` mediumint( 8 ) DEFAULT '0',
`typeid` smallint( 5 ) DEFAULT '0',
`rank` smallint( 6 ) DEFAULT NULL ,
`pkey` varchar( 30 ) CHARACTER SET latin1 NOT NULL ,
`pvalue` text NOT NULL ,
KEY `pkey`( `pkey` )USING BTREE) ENGINE = MYISAM DEFAULT CHARSET = gbk; 这一句中的USING BTREE改变一下位置

变成:KEY `pkey` USING BTREE ( `pkey` )) ENGINE = MYISAM DEFAULT CHARSET = gbk;

这样以后就可以恢复成功了。
页: [1]
查看完整版本: dedecms导入时只有63个表,dede_purview这个表不能导入的问题