[英]Can not insert into a table using 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)
at com.mysql.jdbc.Statement.checkForDml(Statement.java:417)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1140)
我的表有5列,而3列的默認值為= null;
executeQuery
僅用於發布查詢語句。 您需要將executeUpdate
用於插入,該插入用於修改數據的語句(如INSERT
)。 理想情況下,您還應該使用PreparedStatement
而不是executeQuery()
嘗試使用execute()
或executeUpdate()
如果u正在發出INSERT/UPDATE/DELETE
語句,而不是用於執行SELECT語句的executeQuery()
,則調用executeUpdate()
您應該使用executeUpdate()而不是executeQuery() 。 JavaDoc:
執行給定的SQL語句,該語句可以是INSERT,UPDATE或DELETE語句,也可以是不返回任何內容的SQL語句,例如SQL DDL語句。
注意:不能在PreparedStatement或CallableStatement上調用此方法。
參數:sql-SQL數據操作語言(DML)語句,例如INSERT,UPDATE或DELETE; 或不返回任何內容的SQL語句,例如DDL語句。
同樣,只要出現問題,請檢查javadoc並首先嘗試使用Google谷歌搜索。 對於您的情況,Stackoverflow有點微妙。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.