Gérer une incrementation a partir d'une autre table

Fermé
smanss78 Messages postés 2 Date d'inscription vendredi 18 mars 2016 Statut Membre Dernière intervention 19 mars 2016 - 18 mars 2016 à 21:57
smanss78 Messages postés 2 Date d'inscription vendredi 18 mars 2016 Statut Membre Dernière intervention 19 mars 2016 - 19 mars 2016 à 18:00
Bonsoir,
je suis en train de créer un gestionnaire de rendez-vous sur eclipse en J2E. Pour cela j'ai besoin d'une base de donnée qui enregistre les champs d'un formulaire (sur une page internet) remplis par un étudiant proposant ses disponibilitées. Chaque rendez-vous est enregistré dans une table rdv :
CREATE TABLE IF NOT EXISTS `rdv` (
`id` int unsigned NOT NULL ,
`motif_etudiant` varchar(1000) DEFAULT NULL,
`date` varchar(10) DEFAULT NULL,
`date1` varchar(10) DEFAULT NULL,
`date2` varchar(10) DEFAULT NULL,
`date3` varchar(10) DEFAULT NULL,
`heure_debut1` varchar(5) DEFAULT NULL,
`heure_debut2` varchar(5) DEFAULT NULL,
`heure_debut3` varchar(5) DEFAULT NULL,
`heure_fin1` varchar(5) DEFAULT NULL,
`heure_fin2` varchar(5) DEFAULT NULL,
`heure_fin3` varchar(5) DEFAULT NULL,
`piece_jointe` varchar(1000) DEFAULT NULL,
`fk_email_etudiant` varchar (100),
`fk_email_enseignant` varchar (100),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Cependant je ne sais pas comment incrémenter la colonne id pour chaque rendez-vous pris sur la page internet.
Je suis encore un débutant en BDD et j'utilise Mysql serveur 5.7 sur console CMD.

1 réponse

Utilisateur anonyme
19 mars 2016 à 00:02
Bonjour

Il y a AUTOINCREMENT pour ça :
`id` int unsigned NOT NULL AUTOINCREMENT, 
0
smanss78 Messages postés 2 Date d'inscription vendredi 18 mars 2016 Statut Membre Dernière intervention 19 mars 2016
19 mars 2016 à 18:00
Je sais mais on m'a interdis cette méthode et on m'a obligé de me servir d'une autre table qui servirai de compteur. je m'explique :
la table B doit contenir qu'une seule colonne et une seule ligne initialisée à 1 puis a chaque rdv pris je dois ecraser la valeur et la remplcer par 2 en faisant +1 a la ligne, ensuite je dois recuperer cette valeur et l'inserer dans la colonne id de ma table rdv.
Voici la fonction que j'ai créer pour ecrire sur ma table :

public void Ecrirerdv (Formulairebean formulaire) throws SQLException {

try (Connection connexion = daoFactory.getConnection();

PreparedStatement preparedStatement = connexion.prepareStatement("INSERT INTO rdv(date1,date2,date3,heure_debut1,heure_debut2,heure_debut3"
+ "heure_fin1,heure_fin2,heure_fin3,date,motif_etudiant) "
+ "VALUES(?,?,?,?,?,?,?,?,?,?,?);"))
{
preparedStatement.setString(1, formulaire.getDate1());
preparedStatement.setString(2, formulaire.getDate2());
preparedStatement.setString(3, formulaire.getDate3());
preparedStatement.setString(4, formulaire.getHeure_debut1());
preparedStatement.setString(5, formulaire.getHeure_debut2());
preparedStatement.setString(6, formulaire.getHeure_debut3());
preparedStatement.setString(7, formulaire.getHeure_fin1());
preparedStatement.setString(8, formulaire.getHeure_fin2());
preparedStatement.setString(9, formulaire.getHeure_fin3());
preparedStatement.setString(10, formulaire.getDate());
preparedStatement.setString(11, formulaire.getMotif_etudiant());
preparedStatement.executeUpdate();
}}

Il me manque la colonne id qui me pose probleme bien sur.
0