java mysql连接两张表,如何使用Java和MySQL在一个语句中插入两个不同的表?
I am using Java, Spring (NamedParameterJdbcTemplate) and MySQL. My statement looks like this:
INSERT INTO Table1 (Name) VALUES (?);
INSERT INTO Table2 (Path, Table1Id) VALUES (?, LAST_INSERT_ID())
But it is throwing the following error:
PreparedStatementCallback; bad SQL grammar [INSERT INTO Table1 (Name) VALUES (?);
INSERT INTO Table2 (Path, Table1Id) VALUES (?, LAST_INSERT_ID())] `
Nested exception is:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO Table2 (Path, Table1Id' at line 1
The syntax works fine in MySQL but something is up when combining via the Spring template.
Thanks!
解決方案
Use the addBatch method to run multiple statements
Statement stmt = con.createStatement();
stmt.addBatch(
"update registration set balance=balance-5.00
where theuser="+theuser);
stmt.addBatch(
"insert into auctionitems(
description, startprice)
values("+description+","+startprice+")");
int[] results = stmt.executeBatch();
總結
以上是生活随笔為你收集整理的java mysql连接两张表,如何使用Java和MySQL在一个语句中插入两个不同的表?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql utf8转gbk cmd_转
- 下一篇: python 打包 无需安装运行环境_无