Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从java访问mysql时在update语句中获取错误_Mysql_Sql_Database_Jdbc - Fatal编程技术网

从java访问mysql时在update语句中获取错误

从java访问mysql时在update语句中获取错误,mysql,sql,database,jdbc,Mysql,Sql,Database,Jdbc,上面第二行中的错误: String sql = "update `library`.`memebers` set 'STATUS'='" + "1" +"' where mem_id = '"+str+"'"; int i = st.executeUpdate(sql); status是列的名称,因此,它应该是status或“status” 实体要么写得平淡无奇,要么用``引用。背勾,不是撇号 除非不应该使用保留字段名作为列名,否则不必引用字段 com.mysql.jdbc.exceptio

上面第二行中的错误:

String sql = "update `library`.`memebers` set 'STATUS'='" + "1" +"' where mem_id = '"+str+"'";

int i = st.executeUpdate(sql);

status是列的名称,因此,它应该是status或“status”

实体要么写得平淡无奇,要么用``引用。背勾,不是撇号

除非不应该使用保留字段名作为列名,否则不必引用字段

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''status' = '1' where mem_id = '656597'' at line 1
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
        at com.mysql.jdbc.Util.getInstance(Util.java:386)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2618)
        at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1749)
        at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1666)
        at Frames.Addmembers.jButton1ActionPerformed(Addmembers.java:181)
        at Frames.Addmembers.access$000(Addmembers.java:21)
        at Frames.Addmembers$1.actionPerformed(Addmembers.java:83)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

请注意,我删除了status和mem_id周围的引号。我假设这两个字段都是整数字段,如果是,则不应该引用它们的值。整型字段应具有整数值,而不是计算为整数值的字符串。请注意,您决不希望盲目地假设字符串是整数并将其连接到查询中-始终确保首先在单引号中确定它是正确的整数。它应该不带引号,或者在后面的单引号内:```:

String sql = "update library.memebers set STATUS = 1 where mem_id = " + Integer.valueOf(str);

这是一个SQL问题。我99.9%确信这与Java无关。您应该打印出您发送给MySQL的实际查询。您确定使用:library.memebers而不是library.membersEven吗?尽管经过上述更正,我没有收到任何错误。但数据库仍然没有更新。@Manish我会确保mem_id与表中的内容匹配。正如有人在评论中建议的那样,您可能希望回显SQL并尝试手动运行它。您可以帮助我使用以下字符串SQL=insert into library.books values+bid+,+bname+,+publisher+,+author+,+Integer.parseIntprice+,+rack_no+,+Date.valueOfdop+,+username;请尝试{int i=st.executeUpdatesql;ifi==1 JOptionPane.showMessageDialognull,添加书本,成功,JOptionPane.PLAIN\u MESSAGE;else JOptionPane.showMessageDialognull,添加书本时出现问题,错误,JOptionPane.ERROR\u MESSAGE;}catchException ex{ex ex.printStackTrace;}@Manish如果你打印出sql的值,它会说什么?Corbin thanx先生非常感谢你的帮助和关心。我昨天已经自己整理好了。如果你允许,我将来也可以寻求你的帮助。尽管有了上述更正,我没有得到任何错误。但数据库仍然没有得到更新。
String sql = "update library.memebers set `STATUS`='1' where mem_id = '"+str+"'";