0

2 つの異なるテーブルの値を使用して、新しいテーブルに挿入するトリガーを作成しようとしています (MySQL 5.5.27 を使用しています)。

これを試すと構文エラーが発生しますが、エラーの場所がわかりません。

    DECLARE _Token VARCHAR(255);
SELECT token INTO _Token FROM appusers ON username = NEW.username;
INSERT INTO queue (token, message) VALUES (_Token, NEW.milestone);

私の仮定は、次を使用すると_Tokenが宣言されていない変数であるというメッセージが表示されるため、DECLAREが好きではないということです。

  SELECT token INTO _Token FROM appusers ON username = NEW.username;
INSERT INTO queue (token, message) VALUES (_Token, NEW.milestone);
4

1 に答える 1

2

単一の挿入ステートメントで試してみてください

INSERT INTO queue (token, message)
SELECT token, NEW.milestone
  FROM appusers 
 WHERE username = NEW.username;
于 2013-05-05T04:42:50.233 に答える