Я просмотрел множество руководств, руководств и документации, но я до сих пор не могу заставить это работать.
Я пытаюсь создать хранимую процедуру с помощью 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; DECLARE @classID INT; DECLARE @toonID INT; SET @rea в строке 3
Возможно, одна из самых неприятных вещей, которые мне когда-либо приходилось делать...
Я видел много обучающих онлайн, которые показывают использование символа @в объявлении переменной, а другие не используют его, я даже видел некоторых, которые используют VAR вместо DECLARE. Что такое правильный синтаксис?...