<h2 dir="auto">Bug Report</h2>
<h3 dir="auto">Which version of ShardingSphere did you use?</h3>
<p dir="auto">4.0.0.M1</p>
<h3 dir="auto">Which project did you use? Sharding-JDBC or Sharding-Proxy?</h3>
<p dir="auto">sharding-proxy</p>
<h3 dir="auto">Expected behavior</h3>
<p dir="auto">images table has no shards.</p>
<p dir="auto">The images table structure is as follows：</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="CREATE TABLE `images` (
  `id` int(11) DEFAULT NULL,
  `image` blob
) ENGINE=InnoDB DEFAULT CHARSET=utf8;"><pre class="notranslate"><code class="notranslate">CREATE TABLE `images` (
  `id` int(11) DEFAULT NULL,
  `image` blob
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
</code></pre></div>
<p dir="auto">java code is as follows：</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="@Test
public void blobInsertTest() throws Exception {

    Class.forName(&quot;com.mysql.jdbc.Driver&quot;);

    String sql = &quot;INSERT INTO images(id,image) values(?,?)&quot;;
    Connection conn = DriverManager.getConnection(url, username, password);
    PreparedStatement ps = conn.prepareStatement(sql);

    ps.setInt(1,2);
    InputStream in = new FileInputStream(&quot;f:\\1122.jpg&quot;);
    ps.setBlob(2, in);
    int count = ps.executeUpdate();
    System.out.println(count);

}"><pre class="notranslate"><code class="notranslate">@Test
public void blobInsertTest() throws Exception {

    Class.forName("com.mysql.jdbc.Driver");

    String sql = "INSERT INTO images(id,image) values(?,?)";
    Connection conn = DriverManager.getConnection(url, username, password);
    PreparedStatement ps = conn.prepareStatement(sql);

    ps.setInt(1,2);
    InputStream in = new FileInputStream("f:\\1122.jpg");
    ps.setBlob(2, in);
    int count = ps.executeUpdate();
    System.out.println(count);

}
</code></pre></div>
<p dir="auto">Run the code normally by connecting mysql.</p>
<p dir="auto">Running code by connecting sharding-proxy  reports the error as follows:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="java.sql.SQLException: Unknown exception: INSERT INTO column size mismatch value size.
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2535)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1911)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2145)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2081)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2066)
	at com.zhongan.dmds.sharding_sphere.ShardingProxyTest.blobInsertTest(ShardingProxyTest.java:105)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)"><pre class="notranslate"><code class="notranslate">java.sql.SQLException: Unknown exception: INSERT INTO column size mismatch value size.
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2535)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1911)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2145)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2081)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2066)
	at com.zhongan.dmds.sharding_sphere.ShardingProxyTest.blobInsertTest(ShardingProxyTest.java:105)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
</code></pre></div>
<h2 dir="auto">Question</h2>
<p dir="auto">The shardingSphere I use is version 5.1.1</p>
<p dir="auto">The following is my mybatis sql</p>
<div class="highlight highlight-text-xml notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="&lt;insert id=&quot;test&quot;&gt;
        INSERT INTO test
        (v_uuid, company_id, hash_id, store_id, msku, stock_90_list)
        VALUES
        &lt;foreach collection=&quot;tList&quot; item=&quot;item&quot; index=&quot;index&quot; separator=&quot;,&quot;&gt;
            (
                #{item.vUuid},
                #{item.companyId},
                #{item.hashId},
                #{item.storeId},
                #{item.msku},
                #{item.stock90List}
            )
        &lt;/foreach&gt;
        ON DUPLICATE KEY UPDATE
        company_id  = values(company_id),
        stock_90_list=values(stock_90_list)
&lt;/insert&gt;"><pre class="notranslate">&lt;<span class="pl-ent">insert</span> <span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">"</span>test<span class="pl-pds">"</span></span>&gt;
        INSERT INTO test
        (v_uuid, company_id, hash_id, store_id, msku, stock_90_list)
        VALUES
        &lt;<span class="pl-ent">foreach</span> <span class="pl-e">collection</span>=<span class="pl-s"><span class="pl-pds">"</span>tList<span class="pl-pds">"</span></span> <span class="pl-e">item</span>=<span class="pl-s"><span class="pl-pds">"</span>item<span class="pl-pds">"</span></span> <span class="pl-e">index</span>=<span class="pl-s"><span class="pl-pds">"</span>index<span class="pl-pds">"</span></span> <span class="pl-e">separator</span>=<span class="pl-s"><span class="pl-pds">"</span>,<span class="pl-pds">"</span></span>&gt;
            (
                #{item.vUuid},
                #{item.companyId},
                #{item.hashId},
                #{item.storeId},
                #{item.msku},
                #{item.stock90List}
            )
        &lt;/<span class="pl-ent">foreach</span>&gt;
        ON DUPLICATE KEY UPDATE
        company_id  = values(company_id),
        stock_90_list=values(stock_90_list)
&lt;/<span class="pl-ent">insert</span>&gt;</pre></div>
<p dir="auto">Below is the value of parsing sql in ParseInfo<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/41101749/225798897-521a4fdd-8f7a-42f6-acb5-cb7cfb818bcf.png"><img src="https://user-images.githubusercontent.com/41101749/225798897-521a4fdd-8f7a-42f6-acb5-cb7cfb818bcf.png" alt="image" style="max-width: 100%;"></a></p>
<p dir="auto">This will result in an error：<br>
Cause: java.lang.StringIndexOutOfBoundsException: String index out of range: -52</p>