Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将续集字符串发送到数据库?_Java_Prepared Statement - Fatal编程技术网

Java 如何将续集字符串发送到数据库?

Java 如何将续集字符串发送到数据库?,java,prepared-statement,Java,Prepared Statement,我有一根绳子 String myqu=“插入mytable1的值(1,'xxx',5);插入mytable1的值(2,'xxttx',6);插入mytable1的值(3,'gttxxx',5);插入mytable1的值(4,'xxgtx',7);插入mytable1的值(5,'xxgtx',5);//很长…” 我需要把它发送到数据库 我试过了 Statement stmt = connection.createStatement(); stmt.executeUpdate(myqu); //

我有一根绳子

String myqu=“插入mytable1的值(1,'xxx',5);插入mytable1的值(2,'xxttx',6);插入mytable1的值(3,'gttxxx',5);插入mytable1的值(4,'xxgtx',7);插入mytable1的值(5,'xxgtx',5);//很长…”

我需要把它发送到数据库

我试过了

Statement stmt = connection.createStatement();
stmt.executeUpdate(myqu);

// also tried

PreparedStatement prstmt = connection.prepareStatement(myqu);
prstmt.executeUpdate();
这两种方法仅在我使用短字符串时有效(如
String myquShort=“INSERT INTO mytable1 VALUES(1,'xxx',5);

但是,当我使用
字符串myqu
(30000个字符)时,查询会抛出一个错误:
截断字符串…


如何克服它?

不要一次发送多条SQL语句!分别发送每条语句!您可以使用准备好的语句进行批插入。

不要一次发送多条SQL语句!分别发送每条语句!您可以使用准备好的语句进行批插入。

不要一次发送多条SQL语句!发送每个语句单独发送!您可以使用准备好的语句进行批插入。

不要一次发送多个SQL语句!单独发送每个语句!您可以使用准备好的语句进行批插入。

尝试以下操作:

在表(第1列、第2列)中插入值 (价值1,价值2),(价值1,价值2) 这也是数据库的一个语句,而且效率更高

或者把你的陈述分成许多陈述

从性能的角度来看,第一个选项更好

我假设您的程序正在根据来自某个源的数据自动生成语句。生成字符串时,当达到接近上限时,停止并将查询发送到数据库,然后开始下一步操作。

尝试以下操作:

在表(第1列、第2列)中插入值 (价值1,价值2),(价值1,价值2) 这也是数据库的一个语句,而且效率更高

或者把你的陈述分成许多陈述

从性能的角度来看,第一个选项更好

我假设您的程序正在根据来自某个源的数据自动生成语句。生成字符串时,当达到接近上限时,停止并将查询发送到数据库,然后开始下一步操作。

尝试以下操作:

在表(第1列、第2列)中插入值 (价值1,价值2),(价值1,价值2) 这也是数据库的一个语句,而且效率更高

或者把你的陈述分成许多陈述

从性能的角度来看,第一个选项更好

我假设您的程序正在根据来自某个源的数据自动生成语句。生成字符串时,当达到接近上限时,停止并将查询发送到数据库,然后开始下一步操作。

尝试以下操作:

在表(第1列、第2列)中插入值 (价值1,价值2),(价值1,价值2) 这也是数据库的一个语句,而且效率更高

或者把你的陈述分成许多陈述

从性能的角度来看,第一个选项更好


我假设您的程序正在根据来自某个源的数据自动生成语句。在生成字符串时,当您接近上限时,停止并将查询发送到数据库,然后开始下一步。

如果我将我的
字符串myqu
拆分为许多小字符串,它将工作,然后可以逐个发送…但这将导致如果我把我的
字符串myqu
分割成许多小字符串,它会工作,然后可以一个接一个地发送…但这将永远需要谷歌来“jdbc批插入”“如果我将我的
字符串myqu
拆分为许多小字符串,它将工作,然后可以逐个发送。。。但是,如果我把我的
字符串myqu
拆分成许多小字符串,它就会工作,然后可以逐个发送。。。但这将永远是谷歌的“jdbc批量插入”顺便说一句,它是“SQL”而不是“sequel”。顺便说一句,它是“SQL”而不是“sequel”。顺便说一句,它是“SQL”而不是“sequel”。顺便说一句,它是“SQL”而不是“sequel”