phpmyadmin存储过程错误

San*_*mar 1 mysql

我试图在phpmyadmin网络托管服务器中运行SP,但总是得到以下错误

1064 - 您的SQL语法出错; 检查与MySQL服务器版本对应的手册,以便在第4行的''附近使用正确的语法

我试图运行的SP是:

CREATE PROCEDURE Authenticate_UserByEmailID(strUsername VARCHAR(45), strPassword VARCHAR(45))
BEGIN
    SELECT * FROM users 
    WHERE users.Username = strUsername AND users.Password = strPassword;
END $$
Run Code Online (Sandbox Code Playgroud)

我尝试在SP名称,表名列名称和不同的其他组合引号中添加单引号但没有结果然后我遇到此链接并尝试更改分隔符但没有结果.你能帮忙吗?

解:

对不起伙计我的坏人.我添加了分隔符,为我解决了这个问题.

DELIMITER ;;

CREATE PROCEDURE `Authenticate_UserByEmailID`(strUsername VARCHAR(45), strPassword VARCHAR(45))
BEGIN
    SELECT * FROM DBCompany_samsonusac517644.users 
    WHERE Username = strUsername AND Password = strPassword;
END ;;
Run Code Online (Sandbox Code Playgroud)

jch*_*360 5

你错过了 DELIMITER

mysql> delimiter $$
mysql> CREATE PROCEDURE Authenticate_UserByEmailID(strUsername VARCHAR(45), strPassword VARCHAR(45))
    -> BEGIN
    ->     SELECT * FROM users 
    ->     WHERE users.Username = strUsername AND users.Password = strPassword;
    -> END $$
Query OK, 0 rows affected (0.01 sec)
Run Code Online (Sandbox Code Playgroud)