我查看了许多教程、手册和文档,但我仍然无法让它工作。
我正在尝试使用 phpMyAdmin 创建一个存储过程。
我似乎无法在这里找到错误,sql错误是如此模糊......
CREATE PROCEDURE insertToonOneShot(IN locale CHAR(2), IN name VARCHAR(16), IN realm VARCHAR(24), IN faction CHAR(1), IN toon_level INT, IN class_name INT)
BEGIN
DECLARE @realmID INT;
DECLARE @classID INT;
DECLARE @toonID INT;
SET @realmID = SELECT id FROM realms WHERE realms.name = realm;
SET @classID = SELECT id FROM classes WHERE classes.name = class_name;
IF NOT @realmID IS NULL AND NOT @classID IS NULL AND @toonID IS NULL THEN
INSERT INTO
toon (`locale`, `name`, `realm_id`, `faction`, `level`, `class_id`)
VALUES
(locale, name, @realmID, faction, toon_level, @classID);
END IF;
END;
我现在得到的错误是:
#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 @realmID INT 附近使用的正确语法;声明@classID INT;声明@toonID INT;在第 3 行设置 @rea
可能是我不得不做的最令人沮丧的事情之一......
我在网上看到很多教程显示在变量声明中使用 @ 符号,还有一些没有使用它,我什至看到一些使用 VAR 而不是 DECLARE。什么是正确的语法?...