pourquoi ne executeUpdate retour 1, même si aucune nouvelle ligne a été insérée?

voici ma table très très simple (Postgres):

CREATE TABLE IF NOT EXISTS PERFORMANCE.TEST
(
test text NOT NULL UNIQUE
);

si j'essaie d'insérer une Chaîne de caractères à l'aide de la commande ci-dessous à PARTIR de la base de données,tout fonctionne comme prévu, il n'est pas surprenant une nouvelle ligne apparaît dans la DB.

insert into performance.test (test) values ('abbbbaw');

Cependant, si je veux insérer une Chaîne de caractères via JDBC, rien n'est inséré, bien que preparedStatement.executeUpdate() renvoie toujours 1.

Ci-dessous est ma méthode de travail, mais il ne le fait pas. S'il vous plaît dites-moi si je suis absent quelque chose d'évident.
Je tiens à ajouter que je n'ai jamais eu aucun SQLException.

private void storePerformance() {
    Connection conn= initializePerformanceConnection();
    if (conn!= null) {
       PreparedStatement insertPS = null;
        try {
            insertPS = conn.prepareStatement("insert into performance.test (test) values (?)");
            insertPS.setString(1, queryVar);
             int i = insertPS.executeUpdate();
            LogManager.doLog(LOG, LOGLEVEL.INFO," numberofrows= "+i);

        }  catch (SQLException e) {
            LogManager.doLog(LOG, LOGLEVEL.INFO,"Inserting query failed = "+queryVar,e);
        }finally{
            if(insertPS != null){
                try {
                    insertPS.close();
                } catch (SQLException e) {
                    LogManager.doLog(LOG, LOGLEVEL.INFO,"Closing PreparedStatement failed = "+queryVar,e);
                }
            }
            try {
                conn.close();
            } catch (SQLException e) {
                LogManager.doLog(LOG, LOGLEVEL.INFO,"Closing performanceConnection failed= "+ queryVar, e);
            }
        }           
    }
}

OriginalL'auteur Sanyifejű | 2013-04-11