【问题标题】:MariaDB server error on Update command sql更新命令 sql 上的 MariaDB 服务器错误
【发布时间】:2017-10-09 20:38:06
【问题描述】:

我试图连续更新一个值,当我运行程序时出现错误:

您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 'WHERE id = 1 附近使用的正确语法。

我已尝试更改我的更新语句,但我不知道为什么会发生错误。

                Player updatedPlayer = null;
                System.out.println("Enter the player ID:");
                String playerId = FileUtility.getInput().nextLine();

                System.out.println("Here are the players");
                //theList = loadCampersFromDatabase(theList);
                for (Player players : PlayerDAO.selectAllById(playerId)) {
                    System.out.println(players);
                    System.out.println("Enter the new amount paid");
                    newAmount = FileUtility.getInput().nextInt();

                    Connection dbConnection = null;
                    PreparedStatement preparedStatement = null;

                    String updateTableSQL = "UPDATE Player SET WHERE id = ?, firstName = ?, lastName = ?, parentsName= ?, phoneNumber= ?, email = ?, amountPaid = ?";


                    try {
                        dbConnection = getDBConnection();
                        preparedStatement = dbConnection.prepareStatement(updateTableSQL);

                        preparedStatement.setInt(1, players.getRegistrationId());
                        preparedStatement.setString(2, players.getFirstName());
                        preparedStatement.setString(3, players.getLastName());
                        preparedStatement.setString(4, players.getParentsName());
                        preparedStatement.setInt(5, players.getPhoneNumber());
                        preparedStatement.setString(6, players.getEmail());
                        preparedStatement.setInt(7, players.getAmountPaid());

                        // execute update SQL stetement
                        preparedStatement.executeUpdate();

                        System.out.println("Record is updated to DBUSER table!");

                    } catch (SQLException e) {

                        System.out.println(e.getMessage());

                    } finally {

                        if (preparedStatement != null) {
                            preparedStatement.close();
                        }

                        if (dbConnection != null) {
                            dbConnection.close();
                        }

                    }

                }

【问题讨论】:

    标签: java sql mariadb


    【解决方案1】:

    我猜试试这个:

    String updateTableSQL = "UPDATE Player SET  firstName = ?, lastName = ?, parentsName= ?, phoneNumber= ?, email = ?, amountPaid = ? WHERE id = ?";
    
    
                        try {
                            dbConnection = getDBConnection();
                            preparedStatement = dbConnection.prepareStatement(updateTableSQL);
    
                            preparedStatement.setString(1, players.getFirstName());
                            preparedStatement.setString(2, players.getLastName());
                            preparedStatement.setString(3, players.getParentsName());
                            preparedStatement.setInt(4, players.getPhoneNumber());
                            preparedStatement.setString(5, players.getEmail());
                            preparedStatement.setInt(6, players.getAmountPaid());
                         preparedStatement.setInt(7,players.getRegistrationId());
                            // execute update SQL stetement
                            preparedStatement.executeUpdate();
    
                            System.out.println("Record is updated to DBUSER table!");
    
                        } catch (SQLException e) {
    
                            System.out.println(e.getMessage());
    
                        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 2014-04-21
      • 1970-01-01
      • 2013-04-29
      相关资源
      最近更新 更多