2012-12-02 2 views
0

Je suis en train de mettre à jour ma table « totale »:mettre à jour une ligne de table MySQL

dans la ligne de id = 1, je veux mettre à jour la valeur de « DAYS_LEFT » être 47.

String values_to_update = "UPDATE total SET days_left = '47' where id = '1'"; 
Class.forName("com.mysql.jdbc.Driver"); 
Connection con = DriverManager.getConnection(url, "root", "Admin"); 
PreparedStatement ps = con.prepareStatement(values_to_update); 
con.close(); 

Pourquoi n'est-ce pas mis à jour?

+0

Il suffit de l'exécuter. – xagyg

Répondre

1

Au moins, vous devez exécuter votre instruction SQL via: ps.executeUpdate();

1

Vous devez exécuter l'instruction préparée. Essayez:

ps.executeUpdate(); 
con.commit(); 

avant de fermer la connexion.

+0

Je l'ai essayé et ça marche .. mais, maintenant j'ai une erreur: "Impossible d'appeler commit quand autocommit = true". –

+0

Supprimez alors la ligne de validation et acceptez ma réponse, ou celle ci-dessus ou ci-dessous, à votre discrétion. – hd1

1

Do ...

ps.executeUpdate() 

... avant de fermer la connexion. Il ne semble pas non plus que vous ayez besoin d'une déclaration préparée. Une déclaration va faire dans votre cas.

Questions connexes