我正在执行Mantis数据库升级,在运行创建表命令时出现以下错误。有人可以帮我看看 mysql 语法有什么问题吗?
这是错误消息:
Schema CreateTableSQL ( ) BAD
CREATE TABLE (
email_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
email VARCHAR(64) NOT NULL DEFAULT '',
subject VARCHAR(250) NOT NULL DEFAULT '',
submitted DATETIME NOT NULL DEFAULT '1970-01-01 00:00:01',
metadata LONGTEXT NOT NULL,
body LONGTEXT NOT NULL,
PRIMARY KEY (email_id) )
ENGINE=MyISAM
您的 SQL 语法有误;请查看手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近 '( email_id 整数无符号非空 AUTO_INCREMENT, 电子邮件 ' 在 第 1 行
这是在架构中创建表代码的一部分.php
$upgrade[] = Array('CreateTableSQL',Array(config_get('mantis_email_table'),"
email_id I UNSIGNED NOTNULL PRIMARY AUTOINCREMENT,
email C(64) NOTNULL DEFAULT " '' ",
subject C(250) NOTNULL DEFAULT " '' ",
submitted T NOTNULL DEFAULT '1970-01-01 00:00:01',
metadata XL NOTNULL,
body XL NOTNULL
",Array('mysql' => 'ENGINE=MyISAM', 'pgsql' => 'WITHOUT OIDS')));
您尚未为表提供名称:
CREATE TABLE # name is missing here
( email_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT
, email VARCHAR(64) NOT NULL DEFAULT ''
, subject VARCHAR(250) NOT NULL DEFAULT ''
, submitted DATETIME NOT NULL DEFAULT '1970-01-01 00:00:01'
, metadata LONGTEXT NOT NULL
, body LONGTEXT NOT NULL
, PRIMARY KEY (email_id)
)ENGINE=MyISAM
我找到了我的解决方案。我的服务器正在运行 5.5.43 mysql,螳螂安装脚本正在寻找 4.0.1我注释掉了它在 schema.php 中给出错误的 4 个表的创建表命令。我还注释掉了 mysql 版本 4.0.1 的检查。从脚本中绕过这些命令使我能够继续安装。