TiDB 使用jdbc 设置事务隔离级别 报错

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:v4.0.7
  • 【问题描述】:
    我通过jdbc,设置connection的事务隔离级别为最高级别的Connection.TRANSACTION_SERIALIZABLE,来将一个查询操作,两个update操作封装在同一个事务中,保证多线程时,不会发生混乱,但是报错了

    我根据提示,在mysql命令行里面设置了
    set tidb_skip_isolation_level_check=1;
    image
    但是不管用,还是会报同样的错误。

TiDB 不支持 SERIALIZABLE 隔离级别


设置 tidb_skip_isolation_level_check 只是将报错信息变成了 warning ,实际上设置 SERIALIZABLE 还是不生效的。

设置了 tidb_skip_isolation_level_check=1 还是会报错是因为,你是会话级别设置了这个参数,只对当前会话生效。要全局生效的话,可以 set global tidb_skip_isolation_level_check=1;