2014-01-05 103 views
2

幾天前,我從我的MySQL [版本5.6.12]做了一個SQL轉儲,現在我試圖導入回到同一個數據庫。MySQL轉儲不導入

) 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

注:我知道有類似的帖子到目前爲止沒有任何幫助。

回答

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 ; 
+0

謝謝你,你是上帝派。現在我可以上牀睡覺了。 – leumas95

+0

@ leumas95不客氣。 –