我在制作 MySql 例程时遇到问题。
这是代码:
DELIMITER '$$';
CREATE PROCEDURE User.Login(IN UserName CHAR(32), IN PWord CHAR(32))
BEGIN
Select `userID`, `userType`, `userMainEmail`, `groupID`
From `at_users`
Where `userName` = UserName And `userPass` = PWord
LIMIT 1
FOR UPDATE;
Update `at_users`
Set `lastLoginAt` = now()
Where `userName` = UserName And `userPass` = PWord;
END$$
它应该做的是一个简单的登录任务,几乎无处不在......获取用户记录,然后使用 now() 更新表
我正在创建这个是:
#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 '' at line 12
第 12 行是 END$$ 之前的行
是的,所有字段和表格都存在。:)
编辑:新代码
DELIMITER //;
CREATE PROCEDURE User.Login(IN UserName CHAR(32), IN PWord CHAR(32))
BEGIN
Select `userID`, `userType`, `userMainEmail`, `groupID`
From `at_users`
Where `userName` = UserName And `userPass` = PWord
LIMIT 1
FOR UPDATE;
Update `at_users`
Set `lastLoginAt` = now()
Where `userName` = UserName And `userPass` = PWord;
END//
DELIMITER ;
在登录并选择要使用的正确数据库后,我正在从命令行尝试这个确切的代码。
在最后一行 'DELIMITER ;' 之后 什么都没有发生,我留在 -> 线