前不久在轉(zhuǎn)移DEDE數(shù)據(jù),導(dǎo)入數(shù)據(jù)庫(kù)的時(shí)候提示dede_purview錯(cuò)誤,事后發(fā)現(xiàn)錯(cuò)誤原因是mysql版本的bug,是從mysql5.0導(dǎo)入到mysql5.1引起的。出現(xiàn)這個(gè)錯(cuò)誤原因好象是跟MYSQL數(shù)據(jù)庫(kù)版本不對(duì)應(yīng)有關(guān),就是兼容性問(wèn)題,是SQL語(yǔ)法不兼容造成的。本地的版本和服務(wù)器上的不一致的報(bào)錯(cuò)。錯(cuò)誤位置為“USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=gbk;”表名為dede_purview,為了快速解決問(wèn)題,刪除了“USING BTREE”,導(dǎo)入成功。 也可參考以下方法解決:修改表 `dede_purview` 的結(jié)構(gòu)。 -- -- 表的結(jié)構(gòu) `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; 這樣再次導(dǎo)入的時(shí)候,就不會(huì)報(bào)錯(cuò)了,又或者是直接在執(zhí)行此SQL語(yǔ)句建立此表! 避免錯(cuò)誤方法:本地?cái)?shù)據(jù)庫(kù)導(dǎo)出的時(shí)候,全選所有表之后,建議先把dede_pruview這張表過(guò)濾出來(lái),然后執(zhí)行SQL語(yǔ)句創(chuàng)建數(shù)據(jù)表dede_purview即可。