1

phpmyadmin でのトリガーの作成に関連する問題があります。以下のような単純なコードがあります。コードを送信すると、変数 x 宣言の行でシンタックス エラーが返されます。私はそれをテストしたので、SELECTクエリが機能することを知っており、文字列を返します。誰でも私を助けることができますか?前もって感謝します。

DELIMITER $$

CREATE TRIGGER `after_assigntags_insert` AFTER INSERT ON `assigntags`
FOR EACH ROW 
BEGIN
DECLARE x VARCHAR(10);
SET x = (SELECT UltLabel FROM assignlabels WHERE ALmessage=1);
INSERT INTO messages (Message) VALUES (x);
$$
END

DELIMITER ;
4

3 に答える 3

0

を使用してはuser variablesどうですか?

DELIMITER $$

CREATE TRIGGER `after_assigntags_insert` AFTER INSERT ON `assigntags`
FOR EACH ROW 
BEGIN
   SET @x = (SELECT UltLabel FROM assignlabels WHERE ALmessage=1 LIMIT 1);
   INSERT INTO messages (Message) VALUES (@x);
$$
END

DELIMITER ;
于 2013-04-10T13:54:18.633 に答える
0

構文エラーです。

ENDdelimter の前に来る必要があります$$

次のようなことを試してください:

DELIMITER $$

CREATE TRIGGER `after_assigntags_insert` AFTER INSERT ON `assigntags`
FOR EACH ROW 
BEGIN
DECLARE x VARCHAR(10);
SET x = (SELECT UltLabel FROM assignlabels WHERE ALmessage=1);
INSERT INTO messages (Message) VALUES (x);
END
$$

DELIMITER ;
于 2013-04-10T14:17:27.080 に答える