如何查询当前会话的事务隔离级别_SELECT @@tx_isolation
MySQL 8.0 应使用 transaction_isolation 替代已移除的 tx_isolation查询当前会话值用 SELECT transaction_isolation全局值用 global.transaction_isolation。MySQL 8.0 查不到 tx_isolation用这个替代mysql 8.0 开始tx_isolation 已被弃用并移除直接执行会报错 unknown system variable tx_isolation。这不是你权限或配置的问题是官方彻底删了这个变量。正确做法是查 transaction_isolationSELECT transaction_isolation;返回值形如 REPEATABLE-READ、READ-COMMITTED 等大小写敏感该变量在会话级和全局级都存在查的是当前会话的值如果想查全局默认值用 SELECT global.transaction_isolation;MySQL 5.7 及更早版本还能用 tx_isolation 吗能但要注意格式差异MySQL 5.7 返回的是带引擎前缀的字符串比如 REPEATABLEREAD中间无短横或 SERIALIZABLE而 MySQL 8.0 统一为带短横的标准写法REPEATABLE-READ。这意味着跨版本写自动化脚本时不能简单靠字符串匹配判断隔离级别得做兼容处理REPEATABLEREAD → 对应 REPEATABLE-READREADCOMMITTED → 对应 READ-COMMITTEDREADUNCOMMITTED → 对应 READ-UNCOMMITTED为什么改名和 SET TRANSACTION ISOLATION LEVEL 有啥关系改名是为了对齐 SQL 标准术语transaction_isolation 是标准系统变量名tx_isolation 是 MySQL 旧别名。两者指向同一底层状态只是变量名不同。设置隔离级别时命令本身没变 Trenz AI驱动的社交电商营销平台专为TikTok Shop设计