无法将mysql数据导出到godaddy服务器 - 显示语法错误

时间:2012-04-22 17:10:15

标签: mysql mysqldump mysql-error-1064

这是我的程序:

CREATE DEFINER=`root`@`localhost` PROCEDURE `RPTtempreceipts`(
IN vRCPTNO VARCHAR(20))
BEGIN
DECLARE vBNo VARCHAR(20);
DECLARE vPtyCde INTEGER DEFAULT 0;
DECLARE vWMC VARCHAR(20);
DECLARE vPrdCde VARCHAR(10);
DECLARE vBcde CHAR(5);
DECLARE vSAPLID INTEGER DEFAULT 0;

-- Assign Values
SELECT T.BNo,T.pty_code,T.WMC,T.PrdCde,T.Bcde INTO 
vBNo,vPtyCde,vWMC,vPrdCde,vBcde FROM
tbltransaction T INNER JOIN tbltransreceipts TR
ON T.BNo=TR.BNo WHERE TR.RcptNO=vRCPTNO;

SELECT SAPLID INTO vSAPLID FROM tblcust_prd_wor WHERE pty_code=vPtyCde;

-- Select Queries are configured as for Typed Dataset under DT's
SELECT * FROM tbltrans WHERE BNo=vBNo;
SELECT * FROM tbltransrcpt WHERE RNo=vRCPTNO;
END

显示以下错误:

  

错误代码:1064您的SQL语法出错;检查   手册,对应右边的MySQL服务器版本   在第1行(采用328毫秒)的“DECLARE vPtyCde INTEGER”附近使用的语法

     

错误代码:1064您的SQL语法出错;检查   手册,对应右边的MySQL服务器版本   第1行'DECLARE vWMC VARCHAR(20)'附近使用的语法(312 ms)

     

错误代码:1064您的SQL语法出错;检查   手册,对应右边的MySQL服务器版本   在第1行的'DECLARE vPrdCde VARCHAR(10)'附近使用的语法(328 ms   取)

     

错误代码:1064您的SQL语法出错;检查   手册,对应右边的MySQL服务器版本   在第1行(313 ms)的“DECLARE vBcde CHAR(5)”附近使用的语法

     

错误代码:1064您的SQL语法出错;检查   手册,对应右边的MySQL服务器版本   在第1行的'DECLARE vSAPLID INTEGER DEFAULT 0'附近使用的语法(297   ms)

     

错误代码:1327未声明的变量:vBNo(采用312毫秒)

     

错误代码:1327未声明的变量:vSAPLID(需要297毫秒)

我对此感到困惑,因为它在localhost中正常工作。 现在我完成了项目并喜欢将数据库上传到服务器。 但这些错误阻止我继续前进......请帮助我。

此致 森萨。

2 个答案:

答案 0 :(得分:0)

phpMyAdmin会在每个;之后将您的输入拆分为单独的查询。

这篇文章解释了如何避免这种情况:http://blog.nth-design.com/2009/02/25/creating-sp-in-phpmyadmin/

答案 1 :(得分:0)

正如DCoder所说,你正在使用的分隔符“;”造成了这个问题。您需要将分隔符更改为查询中未出现的任何分隔符。博客文章中“$$”的例子很可能是安全的,因为在许多地方不太可能出现双美元符号。

您需要确保您的数据库是5.0或更高版本的MySQL数据库,因为程序仅在5.0中开始。

此外,定义root @ localhost不适用于Go Daddy共享主机。您应该能够摆脱该部分或使用dbuser @'%'。