0
フィールド 'type'、 'receiver_id'、 'confirm'、 'id'を持つテーブル 'comments'があります。 それぞれにコメントセクションを持つ3種類のオブジェクトがあります。コメント後にトリガーがそれぞれのテーブル内のオブジェクトの数を増やすことを確認してください。 IFとIF ELSE条件のあるMysqlトリガー
DB::unprepared('CREATE TRIGGER comment_confirm
AFTER UPDATE ON comments FOR EACH ROW
BEGIN
IF OLD.confirm = 0 AND NEW.confirm = 1 THEN
IF OLD.type = profile THEN
UPDATE profiles SET comments = comments + 1 WHERE user_id = OLD.reciever_id;
ELSE IF OLD.type = blog THEN
UPDATE blogs SET comments = comments + 1 WHERE user_id = OLD.reciever_id;
ELSE IF OLD.type = topic THEN
UPDATE topics SET comments = comments + 1 WHERE user_id = OLD.reciever_id;
END IF;
END IF;
END
');
移行のエラーは次のとおりです。OLD.type =プロファイルは右の文字列の比較のために単一引用符にする必要があります見ていない場合は
エルス[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
to use near '' at line 13