2013-10-10 117 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转储有很多重复的条目。我用手去除它们,现在它可以工作。谢谢。 –