Mise à jour d'une colonne sql

Résolu/Fermé
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 - 21 mars 2013 à 12:49
supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 - 22 mars 2013 à 10:18
Bonjour,

j'ai une colonne MYSQL très longue (comporte presque 400000 lignes) que j'ai remplie avec un fichier (ce fichier est mis à jour periodiquement). je veux faire une comparaison entre les nouvelles lignes du fichier et celles de ma table sql et mettre a jour seulement les lignes de la table qui ont changée de valeur uniquement (question d'optimisation).

j'ai utilisé cette syntaxe dans mon code java mais j'ai une erreur .

instruction.executeUpdate("update "+this.SQLTable+ "set "+this.colonne+"='"+chaine+"' where "+(chaine.equals(r.getString(1))==false)+"");

ou chaine designe une ligne de mon fichier et r.getString(1) une ligne de ma table SQL

je crois que le test ne fonctionne pas comment faire???

A voir également:

1 réponse

supcomingénieur Messages postés 74 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 16 juillet 2013 1
22 mars 2013 à 10:18
j'ai trouvé la solution je vais la poster au cas où quelqu'un en aura besoin,
d'abord il faut savoir que la syntaxe que j'ai mise est tout a fait fausse. voila ce qu'il faut faire,

1. indexer les lignes de votre table en créant une colonne d'id qui s'incrémente toute seule
create table (id int not null auto_increment.....

2. utiliser la commande sql suivante dans votre code java:

ins.executeUpdate("update "+this.SQLTable+" set "+this.colonne+"='"+chaine_fichier+"' where id='"+r.getInt(1)+"'");

voila j'espère pouvoir aider ceux qui en auront besoin
0