1064-您的SQL语法有错误(没有最后一行逗号)



我正在导出我的本地主机数据库,以便我可以上传到网站主机。

在网站主机上导入后,我会发现此错误:

Error
SQL query:
CREATE TABLE IF NOT EXISTS  `achievements` (
 `no` INT NOT NULL AUTO_INCREMENT COMMENT  'delete me though',
 `MyID` INT( 5 ) DEFAULT NULL COMMENT AS  `my id:` ,
 `MyAch` INT( 5 ) DEFAULT NULL COMMENT AS  `my achievement` ,
 `Date` VARCHAR( 11 ) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT AS  `awarded on:` ,
PRIMARY KEY (  `no` )
) ENGINE = MYISAM AUTO_INCREMENT =45 DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;
MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AS `my id:`,
  `MyAch` int(5) DEFAULT NULL COMMENT AS `my achievement`,
  `Date`' at line 3 

这是它在谈论的领域:

DROP TABLE IF EXISTS `achievements`;
CREATE TABLE IF NOT EXISTS `achievements` (
  `no` int(4) NOT NULL AUTO_INCREMENT COMMENT 'delete me though',
  `MyID` int(5) DEFAULT NULL COMMENT AS `my id:`,
  `MyAch` int(5) DEFAULT NULL COMMENT AS `my achievement`,
  `Date` varchar(11) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT AS `awarded on:`,
  PRIMARY KEY (`no`)
) ENGINE=MyISAM AUTO_INCREMENT=45 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

所有其他问题都提到最后一行有逗号,但我没有。

你知道怎么了吗?

谢谢!

  1. 将您的评论的背部滴答声更改为单引号
  2. COMMENT AS的实例更改为COMMENT

您应该能够直接在phpmyadmin的SQL选项卡中执行以下操作,而不会出错:

DROP TABLE IF EXISTS `achievements`;
CREATE TABLE IF NOT EXISTS `achievements` (
  `no` int(4) NOT NULL AUTO_INCREMENT COMMENT 'delete me though',
  `MyID` int(5) DEFAULT NULL COMMENT 'my id:',
  `MyAch` int(5) DEFAULT NULL COMMENT 'my achievement',
  `Date` varchar(11) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'awarded on:',
  PRIMARY KEY (`no`)
) ENGINE=MyISAM AUTO_INCREMENT=45 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

如果有效,但是在导出/导入后仍会遇到问题,那么问题可能是在本地服务器或Webhost上使用的phpmyadmin版本中的错误。例如,请参见https://github.com/phpmyadmin/phpmyadmin/issues/12076,其中使用DEFAULT NULL将错误的语法引入导出的文件中。

最新更新