我试图连续更新一个值,当我运行程序时,我收到错误:
您的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();
}
}
}
答案 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());
}