今天在执行一个 update 语句的时候,发现一直报Full table operation is prohibited.
版本是 MySQL 5.7.17
mybatis-plus 2.3.3
我再其中画了重点,一个就是MySQL 的版本要大于5.6.3。 另一个就是执行关键的 sql 分析了 继续看图,在这个图中有个很重要的语句(圈出的)
if (!"Using where".equals(rs.getString("Extra"))) { if (this.isStopProceed()) { throw new MybatisPlusException("Error: Full table operation is prohibited. SQL: " + boundSql.getSql()); } break; } ``` ==!"Using where".equals(rs.getString("Extra")) == 就抛出我们的异常,那么我们就找到了根源。
一个就是关闭执行计划处理 另一个就是写一个自定义的 执行计划扫描。 这是我目前想到的办法,有好的建议希望大家留言