我看过许多教程,手册和文档,但我仍然无法让它工作.
我正在尝试使用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 – 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 @realmID INT; DECLARE @classID INT; DECLARE @toonID INT; SET @rea
at line 3
可能是我曾经做过的更令人沮丧的事情之一
我已经看到许多在线教程显示在变量声明中使用@符号,而其他教程不使用它,我甚至看到有些使用VAR而不是DECLARE.什么是正确的语法?