sql >> Databáze >  >> RDS >> Mysql

Je možné provést ROLLBACK ve spouštěči MySQL?

Zjistil jsem, že tato funkce existuje od MySQL 5.5 a nefunguje v dřívějších verzích.

Spouštěč neprovádí žádné vrácení nebo potvrzení. Chcete-li zahájit jakékoli vrácení zpět, musíte vyvolat výjimku. Váš příkaz insert/update/delete se tedy přeruší. Akce vrácení zpět nebo potvrzení musí být vyvolána kolem vašeho příkazu SQL.

Chcete-li vyvolat výjimku, ve spouštěči XXX (např.):

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. Jak vložit hodnotu BOOL do databáze MySQL

  2. Co je to vlastní runtime obrázek v Javě 9?

  3. Nelze předat parametr 2 odkazem - uuid PDO

  4. MySQL vytváří čas a aktualizuje časové razítko