例如,这适用于MariaDB,所有三个查询都返回1:
START TRANSACTION;
SELECT @@in_transaction;
SELECT variable_value FROM information_schema.session_variables WHERE variable_name = 'in_transaction';
SELECT session_value FROM information_schema.system_variables WHERE variable_name = 'in_transaction';所有这些查询都不适用于Percona 8.0.22-13。
发布于 2022-06-13 23:40:21
MySQL 5.7和8.0支持这一点(我还没有检查5.6,因为它已经结束了),因此Percona也应该支持,因为Percona是MySQL的一个分支(而不是叉)。
mysql> select * from information_schema.innodb_trx
where trx_mysql_thread_id = connection_id()\G如果它没有返回结果,那么线程就没有启动一个事务。
注意,您可以使用start transaction,但是查询不返回任何结果。在对事务性表执行第一条语句之前,事务不会真正启动。
https://stackoverflow.com/questions/72609954
复制相似问题