当前位置: 首页 > 面试题库 >

MySQL Java更新语法

梁渊
2023-03-14
问题内容

我只是尝试在我的应用程序中使用更新,但我不能。在控制台上,此mysql命令有效,但在此无效。

好吧,我在程序中使用了它:

    conexao = poolMySQL.connect();
    final String sql = "UPDATE professor  SET codlocal = ?  WHERE codprof = ?";

    pstmt = conexao.prepareStatement(sql);


    pstmt.setInt(1, local);
    pstmt.setInt(2, id);
    try {
        pstmt.executeUpdate(sql);
    } catch (SQLException ex) {
        Logger.getLogger(ProfessorDAO.class.getName()).log(Level.SEVERE, null, ex);
    }

只是提醒一下,codlocal是另一个名为Localidade的表的外键。我看到了一些有关加入的示例,但是我无法想象这对我如何起作用。

我得到这个:

    Grave: null
    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 '?  WHERE codprof = ?' at line 1
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
    at com.mysql.jdbc.Util.getInstance(Util.java:384)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2562)
    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1664)
    at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1583)
    at DAO.ProfessorDAO.atualizaLocalidade(ProfessorDAO.java:153)
    at DAO.Main.main(Main.java:23)

那么,我该怎么办?


问题答案:

您必须使用pstmt.executeUpdate(); 代替pstmt.executeUpdate(sql);



 类似资料:
  • 问题内容: 我有2个表格,Products和ShoppingCart,我想根据ShoppingCart中指定的产品名称和数量来更新和减少Products表中产品的“数量”。我怎样才能做到这一点? 表:产品字段:产品名称,产品数量 表:购物车字段:ProductName,ProductQty 访问数据库 问题答案: 您应该有一个产品ID。然而: 您还应该在字段和表名中删除空格。

  • 问题内容: 我有两个看起来像这样的桌子 培养 订座 当前,我正在尝试创建一个查询,如果取消预订,该查询将增加火车的容量。我知道我必须执行Join,但是我不确定如何在Update语句中执行。例如,我知道如何使用给定的ReservationID来获取火车的容量,如下所示: 但我想构造执行此操作的查询- 如果可能的话,我想知道如何增加任意数量的席位。顺便说一句,我计划在Java事务中执行增量后删除保留。

  • 问题内容: 我需要使用REPLACE编写一条sql更新语句。字符串看起来像’SE * 88 * 000000001’。我需要替换两个星号“ *”之间的数字。除了要替换的数字始终在两个星号之间之外,这里没有其他模式。在这种情况下可以使用通配符吗? 感谢你的帮助。 谢谢! 问题答案: 或者,如果要替换的是一个特定的数字,那么它将更加简单:

  • 问题内容: 我不是SQL专家,但在iPhone应用程序中存在一个错误,其中UPDATE语句对数据库没有影响。我一直在为FireFox使用SQLlite管理器插件,通过反复修改和在db上运行UPDATE来尝试dbug。我还仔细运行了该语句,并使用SQL Validator进行了验证,该语句符合核心SQL标准。 您能发现以下给出的陈述有什么问题吗? 问题答案: SQLite以及Mozilla,Goog

  • 问题内容: 我有两张桌子。表A和表B。 TableA包含一个varbinary(max)列-名为[BinaryA] TableB包含一个包含每个varbinary卷的列(名为“ Volume”,类型为“ Long”)。 为了选择我查询的所有卷 比,我想用它的体积更新tableB。 然后我写 我收到比 虽然我在运行时没有收到任何NULL 问题答案: 尝试使用此查询: 假设TableB和[VAULT]

  • 我需要将priorityId设置为以下。有人能建议一个sql更新语句吗?我想我需要一个由Rid和Gid组成的组或自加入 非常感谢。