Java 无法使用JDBC插入到表中
当我在mysql中使用时,下面的查询是成功的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)
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对于您的案例来说有点微妙 嗯,错误信息很清楚,不是吗?