2017-10-09 80 views
0

我試圖更新一行中的一個值,當我運行該程序時出現錯誤:MariaDB服務器錯誤更新命令sql

您的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

試試這個我猜:

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

        } 
+0

你的歡迎! – Nizar