0

表 1 の値を文字列と比較する際に問題に直面しています。

DELIMITER $$
DROP TRIGGER IF EXISTS comment_trigger$$
CREATE TRIGGER  comment_trigger AFTER INSERT ON post_comments
FOR EACH ROW
DECLARE 
@var_post_id varchar(20);
BEGIN
IF (NEW.post_id LIKE 'rmdid%') THEN
SET @var_post_id=SELECT post_id FROM recommendations WHERE recommendation_id=NEW.post_id;
IF(@var_post_id LIKE 'recid%') THEN
UPDATE cooking_category SET last_activity=NEW.comment_time WHERE post_id=NEW.post_id;
END IF;
END IF;
END$$
DELIMITER ;

誰かがこれを手伝ってくれませんか。

4

1 に答える 1

0

selectステートメントで変数を直接割り当てることができます。

SELECT @var_post_id = post_id
FROM recommendations
WHERE recommendation_id=NEW.post_id;

selectこれは推奨されますが、ステートメントを括弧で囲んでも構文は機能します。

SET @var_post_id=(SELECT post_id FROM recommendations WHERE recommendation_id=NEW.post_id);
于 2013-02-15T18:06:03.347 に答える