因此,尝试读取然后更新SQL数据库。我可以读取来自数据库的信息,但当我尝试更新它时,由于某种原因,总是出现错误。我试图使用MySQL应用程序让我的语法正确工作,它在那里工作,但在这里它不想..
下面是值得注意的代码:
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM devices");
Statement stmt2 = con.createStatement();
String updateQuery = "UPDATE cb_internetot.devices" +
"SET State = 6 " +
"WHERE idDevices = 0;";
stmt2.execute(updateQuery);下面是我得到的堆栈跟踪:
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:526)
com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
com.mysql.jdbc.Util.getInstance(Util.java:383)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4208)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4140)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2597)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2758)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2820)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2769)
com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:907)
com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:791)
ConnAndReceive.connectAndQuery(ConnAndReceive.java:37)
ConnAndReceive.main(ConnAndReceive.java:15)我在cloudbees上运行数据库,所以这可能是一个安全问题吗?我觉得这不会是因为我能够正确地从中选择…
发布于 2014-09-01 07:31:22
在表名和set关键字之间添加空格,否则sql语句语法错误:
String updateQuery = "UPDATE cb_internetot.devices " +
^https://stackoverflow.com/questions/25597188
复制相似问题