sql >> Databasteknik >  >> RDS >> Mysql

Undantag fångat:java.sql.SQLEUndantag:Kolumnantal matchar inte värderäkning på rad 1

Det är god praxis att använda PreparedStatement istället för Statement . Det hjälper dig att förhindra sql injection attacker. Försök att skapa PreparedStatement gillar -

String updateString ="INSERT INTO deductions (empId, dedId, dedName, dedAmount, dedDate) VALUES (?,?,?,?,?)";

    PreparedStatement preparedStatement = conn.prepareStatement(updateString);

    preparedStatement.setInt(1, empId);
    preparedStatement.setInt(2, dedId);
    preparedStatement.setString(3, dedName);
    preparedStatement.setDouble(4, dedAmount);
    preparedStatement.setDate(5, dedDate);

    preparedStatement .executeUpdate();


  1. Det är inte tillåtet att returnera en resultatuppsättning från en utlösare

  2. SQL-serverschema och standardschema

  3. Denna SELECT-fråga tar 180 sekunder att slutföra

  4. MySQL Trigger-fråga:trigger bara när en kolumn ändras?