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

Jak zjistím, zda mám v transakci MySQL nepotvrzené zápisy?

To je docela zajímavá otázka. Nemyslím si, že existuje definitivní způsob, jak určit, zda vydání potvrzení bude či nebude mít vliv na probíhající relaci.

Transakce můžete vidět pomocí show innodb status nebo zobrazit stav motoru innodb ale nemyslím si, že na tyto transakce můžete vydat závazek.

INNODB_TRX tabulka v information_schema zobrazí aktuálně probíhající transakce:https://dev.mysql.com/doc/refman/5.5/en/innodb-trx-table.html a opět není moc co udělat, abyste je vynutili. Můžete je vrátit zpět tím, že zabijete přidružený proces.

Pokud provádíte transakci pomocí ZAČNĚTE TRANSAKCI v uložené proceduře můžete odevzdat a vrátit zpět ručně. Můžete dokonce nastavit automatické potvrzení na 0, abyste řídili, kdy vrátit zpět a kdy potvrdit.




  1. Jak získám náhodnou výchozí hodnotu pro sloupec v MySQL/Rails

  2. Vyhoďte chybu bránící aktualizaci tabulky ve spouštěči MySQL

  3. Nejlepší způsob, jak se vypořádat s datem při ukládání záznamů pro vyhledávač v MySQL?

  4. Volání uložené funkce (která vrací pole uživatelem definovaného typu) v oracle přes odkaz na databázi