多数のチュートリアル、マニュアル、およびドキュメントに目を通しましたが、まだこれを機能させることができません。
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 構文にエラーがあります。@realmID INT の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。DECLARE @classID INT; DECLARE @toonID INT; 3 行目の SET @rea
おそらく、私がこれまでにやらなければならなかったことの中で最もイライラすることの 1 つです...
変数宣言で @ 記号を使用することを示す多くのチュートリアルをオンラインで見てきましたが、それを使用していないものもあり、DECLARE の代わりに VAR を使用しているものもいくつか見ました。正しい構文は何ですか? ...