您试图一次执行两个查询。JDBC不允许这样做。单个执行应该是一个且只有一个语句。某些驱动程序确实允许它,但是您需要使用一个连接属性来启用它,例如对于MysqL是allowMultiQueries
,请参见http://dev.mysql.com/doc/refman/5.6/en/connector- j-reference- configuration- properties.html:
allowMultiQueries 允许使用’;’ 在一个语句(真/假)期间分隔多个查询,默认为“假”,并且不影响依赖于rewriteBatchStatements的addBatch()和executeBatch()方法。
但是,我强烈建议执行为两个单独的语句(在事务中可选)。那是JDBC兼容的,并且可以在所有数据库上使用。