Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да определя дали имам незаети записи в MySQL транзакция?

Това е доста интересен въпрос. Не мисля, че има категоричен начин да се определи дали издаването на commit ще промени или няма да промени сесията, която изпълнявате.

Можете да видите транзакции с show innodb status или покажи състоянието на innodb на двигателя но не мисля, че можете да издадете ангажимент за тези транзакции.

INNODB_TRX таблицата в information_schema ще покаже изпълняваните в момента трансакции:https://dev.mysql.com/doc/refman/5.5/en/innodb-trx-table.html и отново не можете да направите много, за да ги ангажирате насила. Можете да ги върнете обратно, като убиете свързания процес.

Ако изпълнявате транзакция с помощта на СТАРТ НА ТРАНЗАКЦИЯТА в съхранена процедура можете ръчно да обработвате commit и rollback. Можете дори да зададете autocommit до 0, за да контролирате кога да се върнете назад и кога да се ангажирате.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ap_proxy_connect_backend деактивиращ работник за (127.0.0.1)

  2. Не се съхранява updatedAt с модел секвел

  3. Грешка в MySQL-Linux при опит за спиране на услугата

  4. Как да промените нередактируем/генериран код в netbeans

  5. Извикване на съхранена процедура с изходен параметър чрез PDO