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

MySQLトリガーでロールバックを実行することは可能ですか?

    この機能はMySQL5.5以降に存在し、以前のリリースでは機能しないことがわかりました。

    トリガーはロールバックまたはコミットを行いません。ロールバックを開始するには、例外を発生させる必要があります。したがって、挿入/更新/削除コマンドは中止されます。SQLコマンドの周囲でロールバックまたはコミットアクションを発生させる必要があります。

    例外を発生させるには、XXXのトリガーで(例):

    create trigger Trigger_XXX_BeforeInsert before insert on XXX
    for each row begin
    
        if [Test]
        then
    
          SIGNAL sqlstate '45001' set message_text = "No way ! You cannot do this !";
    
        end if ;
    
    end ;
    


    1. MySQLでnullになる可能性のある最大2つの列で並べ替える方法は?

    2. zendのデータベースでテーブルの列名を取得するにはどうすればよいですか?

    3. 新しいコンテンツがデータベースに追加された場合にのみ、divのコンテンツを更新します

    4. GoogleChartApiは日時の値を利用します