服务器版本的 MySQL 语法错误

标签 mysql

下面的代码有什么问题,它会返回一条错误消息“报告的错误是:您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以在 'user 附近使用正确的语法” bigint(20) NOT NULL, type enum('e','c') NOT NULL, eidcid bigint(20) N' 在第 1 行"

有人可以帮忙吗???

$sqla[] = "CREATE TABLE `" . $GLOBALS['TBL_PREFIX'] . "accesscache` (`cacheid` INT NOT NULL AUTO_INCREMENT  `user` bigint(20) NOT NULL,  type enum('e','c') NOT NULL,  `eidcid` bigint(20) NOT NULL,  `result` enum('nok','readonly','ok') NOT NULL,  `timestamp_last_change` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY `cacheid` (`cacheid`), KEY `user` (`user`),  KEY `type` (`type`),  KEY `eidcid` (`eidcid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Interleave Access cache table';";

最佳答案

AUTO_INCRMENT 后面缺少一个逗号。

$sqla[] = "CREATE TABLE `" . $GLOBALS['TBL_PREFIX'] . "accesscache` (`cacheid` INT NOT NULL AUTO_INCREMENT,  `user` bigint(20) NOT NULL,  type enum('e','c') NOT NULL,  `eidcid` bigint(20) NOT NULL,  `result` enum('nok','readonly','ok') NOT NULL,  `timestamp_last_change` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY `cacheid` (`cacheid`), KEY `user` (`user`),  KEY `type` (`type`),  KEY `eidcid` (`eidcid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Interleave Access cache table';";

关于服务器版本的 MySQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20756244/

相关文章:

php - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行 ' )' 附近使用的正确语法

logging - 使用 MySQL 执行存储评论

php - 查询以将表中的行与数字列表进行匹配,按匹配的行数排序,并与标签进行匹配并执行相同的操作?

mysql - 在我的 WordPress 文件不在根 FTP 文件夹中时使用 MySQL

mysql - 内部连接的行数

mysql - 如何在loopback4中添加外键?

mysql - SQL - 按销售人员计算订单总数

mysql - 获取特定进程 ID 的完整 mysql 查询的最佳方法?

php - 比较 2 个表并根据条件更新一个表

php - 如何使用 cURL 通过 PHP 同时打开多个 URL?