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 ;」の後 何も起こらず、-> 行にとどまります