热搜词
发表于 2012-6-3 08:22:34 | 显示全部楼层 |阅读模式
我又遇到一个问题,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备份。以免上传后缺少再补上传数据库
全部评论1
灰儿 发表于 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;

这样以后就可以恢复成功了。
回复

使用道具 举报

回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-29 03:34 , Processed in 0.157446 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team