sql >> データベース >  >> RDS >> Mysql

列を最大+1に設定するMySQLトリガーが機能しない

    これは、mysqlが;を認識しているためです。 (区切り文字)そしてCREATE TRIGGERの実行を中断します

    次のように変更してみてください:

    delimiter |
    
    
    CREATE TRIGGER ins_saved_listing BEFORE INSERT ON saved_listing
    FOR EACH ROW BEGIN
        SET NEW.create_dt = NOW();
        SET NEW.rank = (SELECT MAX(rank) + 1 FROM saved_listing WHERE user_id = NEW.user_id);
    END;
    
    |
    
    delimiter ;
    



    1. SSISを使用してETLパフォーマンスを改善するためのトップ10の方法

    2. Mysql再帰ストアドプロシージャ...制限0に達しました...max_sp_recursion_depth変数を変更できません

    3. データベース内のエントリを検索します(列名/テーブル名を指定せずに)

    4. Oracle SQL:別のテーブルのデータでテーブルを更新します