Incrémenter une variable en java

Résolu/Fermé
muntu - 27 févr. 2012 à 21:32
irmeche Messages postés 71 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juillet 2014 - 27 févr. 2012 à 22:35
Bonjour,

j'ai un programme java-mysql, je dois faire mes enregistrements. quand j'essaie d'enregistrer mes information dans ma table, j'ai : Duplicata du champ '2' pour la clef 'PRIMARY'.

Je sais que c'est le fait que j'essaie d'enregistrer la même information deux fois dans le champ id.

Donc je dois normalement incrémenter ma variable tt le temps. Mais comment faire, puisque quand je quitte et que je le relance ma variable identificateur s'initialise et fait que j'ai toujours la même valeur.

Ce que j'aimerai savoir, est-il possible de recupérer la valeur contenue dans ma variable à chaque exécution de mon programme comme ça je l'incrémente et je l'enregistre à nouveau.

c'est à dire, si je déclare une variable : int indentificateur; au premier lancement je lui donne la valeur : identificateur = 0; quand je quitte le programme et que je le relance je récupère la valeur 0 puis je dis : indentificateur ++; ==> indentificateur=1;

Est possible ? ou il y a une autre façon de faire ? afin que je parvienne à enregistrer les infos dans ma base de données ?

Merci d'avance !!!
A voir également:

1 réponse

irmeche Messages postés 71 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juillet 2014 17
27 févr. 2012 à 22:24
tu mets la clé primaire en AUTO_INCREMENT et laisse SQL la gère tous seul.

Quand t'insère une ligne , tu mets juste les valeurs des autre colonne sans la clé primaire, cette dernière SQL l'incrémente tout seul.
3
merci bcp !!!
0
irmeche Messages postés 71 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 18 juillet 2014 17
Modifié par irmeche le 27/02/2012 à 22:56
voila un petit exemple: (j'espère que je n'ai pas fait trop d'erreurs)

CREATE TABLE IF NOT EXISTS 'MABASE1' (  
  'id' int(40) NOT NULL AUTO_INCREMENT,  
  'val1' varchar(40) NOT NULL,  
  'val2' varchar(40) NOT NULL,  
  PRIMARY KEY ('id')  
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;  

INSERT INTO 'MABASE1' ('val1', 'val2') VALUES ('val11', 'val21'),  ('val12', 'val22'),  ('val13', 'val23');  



tu verra dans la table créée que le id est auto incrémenté


https://dev.mysql.com/doc/refman/8.0/en/example-auto-increment.html
1