2011-04-12

Mysql放弃对‘TYPE’关键字的支持了吗?

今天在安装bugfree的时候,总是报sql语法不对的错误,追根溯源才发现是使用mysql5.1.17已经放弃了对"TYPE"的支持,而 全部改为"ENGINE"。
这一方面说明mysql对以前版本的兼容性存在问题,但更多的体现了bugfree新版本的推出没有经过严格的测试。
解决方法:
修改bugfree/install.php文件中sysExecuteSql方法,检测所使用的mysql版本,如果版本支持TYPE,则不用 更改;否则增加
$sql = preg_replace("/TYPE/", "ENGINE", $sql);
$sql = preg_replace("/Type/", "ENGINE", $sql);


即:
MYSQL不支持:create table aa () type=MyISAM的语法了
仅支持:create table aa () ENGINE=MyISAM的语法

没有评论: