Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como saber se TRANSACTION já foi inicializado?

O MySQL informa se os comandos feitos estão em TRANSACTION? ou devemos sempre examinar no Output para sabermos disso?

2 respostas
solução!

Felipi,

Eu acho que você quer saber algo relacionado com esta tabela: "INNODB_TRX".

Exemplo (rode os comandos nesta ordem):

START TRANSACTION;

USE vendas_sucos;

SELECT CPF = 19290992743 
FROM clientes;

SELECT CPF
FROM clientes
WHERE CPF = 19290992743;

SELECT trx_state, trx_started
FROM information_schema.INNODB_TRX;

ROLLBACK;

Vai aparecer uma linha com o STATE e a DATA / HORA do início da primeira transação válida.

Agora faça o "SELECT" só iniciando o START e sem START... tipo... faça alguma combinações na ordem dos comandos e veja o resultado.

Infelizmente NÃO achei muita coisa explicando sobre isto... basicamente só isso está um pouco relacionado:

==========================================================

26.2 INFORMATION_SCHEMA Table Reference

The following table summarizes all available INFORMATION_SCHEMA tables. For greater detail, see the individual table descriptions.

INNODB_TRX - Active InnoDB transaction information

https://dev.mysql.com/doc/refman/8.0/en/information-schema-table-reference.html

==========================================================

26.4.28 The INFORMATION_SCHEMA INNODB_TRX Table

The INNODB_TRX table provides information about every transaction currently executing inside InnoDB, including whether the transaction is waiting for a lock, when the transaction started, and the SQL statement the transaction is executing, if any.

https://dev.mysql.com/doc/refman/8.0/en/information-schema-innodb-trx-table.html

==========================================================

Mysql - Como descobrir o nível de isolamento para as transações - mysql, banco de dados, transações

https://living-sun.com/pt/mysql/573958-mysql-how-to-find-out-isolation-level-for-the-transactions-mysql-database-transactions.html

==========================================================

13.3.1 START TRANSACTION, COMMIT, and ROLLBACK Statements

https://dev.mysql.com/doc/refman/5.7/en/commit.html

==========================================================

[]'s,

Fabio I.

As referências e o exemplo responderam a minha dúvida. Muito obrigado!