diff --git a/sharding-proxy/src/main/java/io/shardingsphere/shardingproxy/backend/jdbc/connection/BackendConnection.java b/sharding-proxy/src/main/java/io/shardingsphere/shardingproxy/backend/jdbc/connection/BackendConnection.java
index <HASH>..<HASH> 100644
--- a/sharding-proxy/src/main/java/io/shardingsphere/shardingproxy/backend/jdbc/connection/BackendConnection.java
+++ b/sharding-proxy/src/main/java/io/shardingsphere/shardingproxy/backend/jdbc/connection/BackendConnection.java
@@ -162,8 +162,10 @@ public final class BackendConnection implements AutoCloseable {
      * @param autoCommit auto commit
      */
     public void setAutoCommit(final boolean autoCommit) {
+        if (!autoCommit) {
+            status = ConnectionStatus.TRANSACTION;
+        }
         cachedConnections.clear();
-        status = ConnectionStatus.TRANSACTION;
         recordMethodInvocation(Connection.class, "setAutoCommit", new Class[]{boolean.class}, new Object[]{autoCommit});
     }
#<I> Only change status to TRANSACTION while setAutoCommit was false.