Réinitialiser l'incrément automatique dans MySQL
Ce tutoriel présentera comment réinitialiser l’incrémentation automatique dans la table MySQL.
La plupart des entreprises et organisations qui utilisent MySQL doivent insérer simultanément des valeurs dans plusieurs tables. Bien qu’il ne soit pas possible que tous les champs des enregistrements insérés soient non vides, cela peut provoquer des bogues ou générer une erreur au moment de la récupération de ces enregistrements en fonction d’une condition particulière.
Pour résoudre ce problème, MySQL nous assiste avec un champ d’auto-incrémentation. Cela nous aide à ajouter ou à mettre à jour une valeur particulière dans MySQL chaque fois qu’un nouvel enregistrement est inséré. Il est généralement utilisé pour la colonne associée à la clé primaire.
Comme la valeur de cette variable ne cesse d’augmenter, il devient essentiel pour l’analyste d’avoir un contrôle sur la valeur de cette variable. Cela peut être fait avec l’instruction ALTER TABLE
.
Essayons de comprendre cela plus en profondeur.
Cependant, nous créons deux tables factices avec lesquelles travailler avant de commencer. Ici, nous créons une table, student_dates_1
, avec quelques lignes.
-- create the table student_dates_3
CREATE TABLE student_dates_3(
stu_id int NOT NULL AUTO_INCREMENT,
stu_firstName varchar(255) DEFAULT NULL,
stu_date date,
primary key(stu_id)
);
Insertion d’entrées dans la table student_dates
à l’aide de l’instruction INSERT
La requête précédente crée une table avec le nom student_dates
. Maintenant, à l’aide de l’instruction INSERT
, essayons d’ajouter des données pour quelques étudiants. Cette opération peut se faire comme suit :
-- insert rows to the table student_dates_3
INSERT INTO student_dates_3(stu_firstName,stu_date)
VALUES("Preet",STR_TO_DATE('24-May-2005', '%d-%M-%Y')),
("Dhruv",STR_TO_DATE('14-June-2001', '%d-%M-%Y')),
("Mathew",STR_TO_DATE('13-December-2020', '%d-%M-%Y')),
("Jeet",STR_TO_DATE('14-May-2003', '%d-%M-%Y')),
("Steyn",STR_TO_DATE('19-July-2002', '%d-%M-%Y'));
Le code susmentionné entrerait les données de l’étudiant dans la table student_dates
.
SELECT * from student_dates_3;
Production :
stu_id stu_firstName stu_date
1 Preet 2005-05-24
2 Dhruv 2001-06-14
3 Mathew 2020-12-13
4 Jeet 2003-05-14
5 Steyn 2002-07-19
Réinitialisation de la valeur de AUTO_INCREMENT
Pour mettre à jour la valeur de la variable AUTO_INCREMENT
à une valeur particulière, on peut utiliser la syntaxe suivante.
ALTER TABLE name_of_the_table AUTO_INCREMENT = x;
Dans la requête susmentionnée, x
représente la valeur mise à jour qui doit être ajoutée dans le tableau indiqué. Cette logique peut être utilisée pour mettre à jour la valeur de la variable pour la table student_dates_3
à l’aide de la requête suivante.
ALTER TABLE student_dates_3 AUTO_INCREMENT = 100;
La clé primaire stu_id
est automatiquement mise à jour avec la valeur définie dans la variable AUTO_INCREMENT
si nous ajoutons des enregistrements. Insérons maintenant une valeur dans la table student_dates_3
.
-- insert rows to the table student_dates_3
INSERT INTO student_dates_3(stu_firstName,stu_date)
VALUES("Rutvik",STR_TO_DATE('16-January-2001', '%d-%M-%Y'));
Nous aurons le stu_id
pour l’étudiant nommé Rutvik
comme 100
. Ceci peut être vérifié avec la requête suivante.
SELECT * from student_dates_3;
Production :
stu_id stu_firstName stu_date
1 Preet 2005-05-24
2 Dhruv 2001-06-14
3 Mathew 2020-12-13
4 Jeet 2003-05-14
5 Steyn 2002-07-19
6 Rutvik 2001-16-01
Ainsi, à l’aide de l’instruction ALTER TABLE
et du mot-clé AUTO_INCREMENT
, nous pouvons mettre à jour efficacement la valeur du champ AUTO_INCREMENT
pour mettre à jour automatiquement les valeurs des enregistrements dans la colonne associée à la clé primaire.