java - 串联sql语句插入

标签 java mysql sql jdbc mariadb

<分区>

我有一个脚本需要在一个语句中插入多个东西,比如

sql = "INSERT INTO `table` (something, something) VALUES (smth,smth); INSERT INTO `table` (something, something) VALUES (smth,smth)";
Statement stmt = connection_db.createStatement();  
 boolean update = stmt.execute(sql);

长sql是根据条件拼接的,需要这么长。在phpmyadmin中使用这种sql语句是有效的并且插入它没有问题,但是JAVA吐出错误。

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INSERT INTO `

我可以做些什么来插入这种 sql,还是我应该重新编写我的代码以启动多次以获得相同的结果?

最佳答案

一个简单的方法是使用批量 SQL 插入

  sql = "INSERT INTO `table` (something, something) 
          VALUES (smth,smth), (smth,smth)";

这是一个标准的 sql weay,用于通过单个查询插入更多行

关于java - 串联sql语句插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51443555/

相关文章:

mysql - 将图像存储在 MySQL 数据库中

java - PgJDBC : "no suitable driver found" when following tutorial, 为什么?

sql - 按两列值的计数过滤行

java - 在SQL Server上的prepareStatement上执行PreparedStatement

java - Mokito 不返回我的值实例调用数据库

Java:如何在中断后无限期地让线程回到 sleep 状态?

sql - 如何在以下查询postgresql中获取select count(*)中的单行

java - 使用 String.replaceAll 函数匹配正则表达式并从 Java 中的映射中获取替换值

mysql - 统计MySQL中的数据

mysql - 在mysql中保存20个随机字符