更新命令sql

时间:2017-10-09 20:38:06

标签: java sql mariadb

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

您的SQL语法有错误;检查与MariaDB服务器版本对应的手册,以便在'WHERE id = 1。

附近使用正确的语法

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

                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();
                        }

                    }

                }

1 个答案:

答案 0 :(得分:0)

试试这个我猜:

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());

                    }