Incrémenter une variable en java

[Résolu/Fermé]
Signaler
-
Messages postés
71
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
18 juillet 2014
-
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 !!!

1 réponse

Messages postés
71
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
18 juillet 2014
16
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

merci bcp !!!
Messages postés
71
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
18 juillet 2014
16
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