下面的代码有什么问题,它会返回一条错误消息“报告的错误是:您的 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/