Java 无法使用JDBC插入到表中

Java 无法使用JDBC插入到表中,java,mysql,jdbc,Java,Mysql,Jdbc,当我在mysql中使用时,下面的查询是成功的 INSERT INTO user(`dev_id`,`email`) VALUES('123','456@gmail.com'); 但在java jdbc中,我得到了一个例外: Can not issue data manipulation statements with executeQuery(). at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)

当我在mysql中使用时,下面的查询是成功的

INSERT INTO user(`dev_id`,`email`) VALUES('123','456@gmail.com');
但在java jdbc中,我得到了一个例外:

Can not issue data manipulation statements with executeQuery().
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
    at com.mysql.jdbc.Statement.checkForDml(Statement.java:417)
    at com.mysql.jdbc.Statement.executeQuery(Statement.java:1140)

我的表有5列,3列的默认值为null

executeQuery
仅用于发出查询语句。对于insert,您需要使用
executeUpdate
,insert用于修改数据的语句(如
insert
)。理想情况下,如果您发出的是
INSERT/UPDATE/DELETE
语句,而不是执行SELECT语句的
executeQuery()
,那么您也应该使用
PreparedStatement
调用
executeUpdate()
,而不是
executeUpdate()
尝试使用
execute()
executeUpdate())

您应该使用而不是。 JavaDoc:

执行给定的SQL语句,该语句可以是插入、更新或 DELETE语句或不返回任何内容的SQL语句,例如 SQLDDL语句

注意:不能对PreparedStatement或 可调用声明

参数: sql—sql数据操作语言(DML)语句,如INSERT、UPDATE或DELETE;或者一个不返回任何内容的SQL语句, 例如DDL语句


无论什么时候出现问题,都要检查javadoc并首先尝试谷歌搜索。Stackoverflow对于您的案例来说有点微妙

嗯,错误信息很清楚,不是吗?