2013-10-10 98 views
0

一個客戶給了我他的mysqldump(通過phpMyAdmin的)在我們的服務器上導入,但我得到的進口出現以下錯誤:錯誤mysqldump的進口

#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 'TABLE `agvGalerias` ADD CONSTRAINT `agvGalerias_ibfk_1` FOREIGN KEY (`idAutor' at line 3 

運行錯誤的代碼行是:

ALTER TABLE `agvGalerias` 
ADD CONSTRAINT `agvGalerias_ibfk_1` FOREIGN KEY (`idAutor`) REFERENCES `agvUsuarios`   (`idUsuario`) ON DELETE SET NULL ON UPDATE CASCADE, 
ALTER TABLE `agvGalerias` 
ADD CONSTRAINT `agvGalerias_ibfk_1` FOREIGN KEY (`idAutor`) REFERENCES `agvUsuarios` (`idUsuario`) ON DELETE SET NULL ON UPDATE CASCADE, ADD CONSTRAINT `agvGalerias_ibfk_2` FOREIGN KEY (`idModificador`) REFERENCES `agvUsuarios` (`idUsuario`) ON DELETE SET NULL ON UPDATE CASCADE; 

客戶端:

phpMyAdmin version: 2.9.0 
Mysql version: 5.1.38 

我這邊:

Mysql version: 5.1.69 

我希望得到一些幫助或定向解決這個問題。

+0

我能夠重現此錯誤的出口在這個老版本的phpMyAdmin的(2.9.0),但這個錯誤不再出現在當前穩定的4.0.8版本。 –

回答

2

根據您所提供的SQL,我的猜測是,語法錯誤是對第二ALTER TABLE部分。如果您發現,第一個ALTER TABLE語句在它的結束,而不是一個分號逗號。這使得第二個語句無效,因爲第一個語句沒有正確終止。

+0

就是這樣。 phpmyadmin轉儲有很多重複的條目。我用手去除它們,現在它可以工作。謝謝。 –