前不久在轉移DEDE數據,導入數據庫的時候提示dede_purview錯誤,事後發現錯誤原因是mysql版本的bug,是從 mysql5.0導入到mysql5.1引起的。出現這個錯誤原因好象是跟MYSQL數據庫版本不對應有關,就是兼容性問題,是SQL語法不兼容造成的。本地的版本和服務器上的不一致的報錯。錯誤位置為“USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=gbk;”表名為dede_purview,為了快速解決問題,刪除了“USING BTREE”,導入成功。
也可參考以下方法解決:修改表 `dede_purview` 的結構。
--
-- 表的結構 `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;
稍作修改即可,改為如下:
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語句建立此表!
避免錯誤方法:本地數據庫導出的時候,全選所有表之後,建議先把dede_pruview這張表過濾出來,然後執行SQL語句創建數據表dede_purview即可
*