几天前,我从my SQL[version 5.6.12]中转储了一个SQL,现在我正试图导入回同一个DB。
线路

) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

不起作用,它会抛出一个
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1'错误。
我已经检查了tripple的语法,甚至从一个成功导入的其他表中复制和粘贴。
不知道怎么回事。
这是完整的SQL:http://pastebin.com/hrBKv7Su
注:我知道有一些simlar的帖子到目前为止都没有帮助。

最佳答案

当遇到指向特定位置的1064错误时,请查看前面的字符或单词。在这种情况下,你会发现一个错误的尾随逗号。

CREATE TABLE IF NOT EXISTS `item` (
  `id` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(11) NOT NULL,
  `string` VARCHAR(30) NOT NULL,
  `price` DECIMAL(9,2) NOT NULL,
  `note` VARCHAR(500) DEFAULT NULL,
  `categoryId` SMALLINT(5) UNSIGNED NOT NULL,
  `printerId` tinyint(3) NULL DEFAULT NULL,
  `hidden` tinyint(1) NOT NULL DEFAULT '0',
  `inStock` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  KEY `categoryId` (`categoryId`,`printerId`),
  KEY `printerId` (`printerId`),
  /* -------------------------^^^ remove that comma */
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

关于mysql - MySQL转储不导入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20937903/

10-14 10:17
查看更多