MySQL转储不导入

时间:2014-01-05 19:14:23

标签: mysql sql

我几天前从我的MySQL [版本5.6.12]做了一个SQL Dump,现在我正试图导回到同一个数据库。

该行

) 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'错误。

我检查了语法,甚至从成功导入的其他表之一进行了拼写和粘贴。

不确定会出现什么问题。 这是完整的SQL:http://pastebin.com/hrBKv7Su

注意:我知道到目前为止还没有任何帮助的模拟帖子。

1 个答案:

答案 0 :(得分:3)

当遇到指向特定位置的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 ;