Automatisches Inkrement in MySQL zurücksetzen
In diesem Tutorial erfahren Sie, wie Sie das automatische Inkrement in der MySQL-Tabelle zurücksetzen.
Die meisten Unternehmen und Organisationen, die MySQL verwenden, müssen Werte gleichzeitig in mehrere Tabellen einfügen. Obwohl es nicht möglich ist, dass alle Felder der eingefügten Datensätze nicht leer sind, kann dies zu Fehlern führen oder einen Fehler auslösen, wenn diese Datensätze basierend auf einer bestimmten Bedingung abgerufen werden.
Um dieses Problem zu lösen, unterstützt uns MySQL mit einem Auto-Increment-Feld. Es hilft uns, jedes Mal, wenn ein neuer Datensatz eingefügt wird, einen bestimmten Wert in MySQL hinzuzufügen oder zu aktualisieren. Es wird im Allgemeinen für die Spalte verwendet, die dem Primärschlüssel zugeordnet ist.
Da der Wert dieser Variablen weiter zunimmt, wird es für den Analysten unerlässlich, den Wert dieser Variablen zu kontrollieren. Dies kann mit der Anweisung ALTER TABLE
erfolgen.
Lassen Sie uns versuchen, dies genauer zu verstehen.
Wir erstellen jedoch zwei Dummy-Tabellen, mit denen wir arbeiten können, bevor wir beginnen. Hier erstellen wir eine Tabelle, student_dates_1
, zusammen mit ein paar Zeilen.
-- 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)
);
Einfügen von Einträgen in die Tabelle student_dates
mit der INSERT
-Anweisung
Die vorherige Abfrage erstellt eine Tabelle mit dem Namen student_dates
. Versuchen wir nun, mit Hilfe der INSERT
-Anweisung Daten für einige Schüler hinzuzufügen. Dieser Vorgang kann wie folgt durchgeführt werden:
-- 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'));
Der oben genannte Code würde die Studentendaten in die Tabelle student_dates
eintragen.
SELECT * from student_dates_3;
Ausgabe:
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
Zurücksetzen des Werts von AUTO_INCREMENT
Um den Wert der Variablen AUTO_INCREMENT
auf einen bestimmten Wert zu aktualisieren, kann man die folgende Syntax verwenden.
ALTER TABLE name_of_the_table AUTO_INCREMENT = x;
In der oben genannten Abfrage stellt x
den aktualisierten Wert dar, der in der angegebenen Tabelle hinzugefügt werden muss. Diese Logik kann verwendet werden, um den Wert der Variablen für die Tabelle student_dates_3
mit Hilfe der folgenden Abfrage zu aktualisieren.
ALTER TABLE student_dates_3 AUTO_INCREMENT = 100;
Der Primärschlüssel stu_id
wird automatisch mit dem in der Variablen AUTO_INCREMENT
gesetzten Wert aktualisiert, wenn wir Datensätze hinzufügen. Lassen Sie uns nun einen Wert in die Tabelle student_dates_3
einfügen.
-- 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'));
Wir haben die stu_id
für den Studenten namens Rutvik
als 100
. Dies kann mit der folgenden Abfrage überprüft werden.
SELECT * from student_dates_3;
Ausgabe:
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
Mit Hilfe der Anweisung ALTER TABLE
und dem Schlüsselwort AUTO_INCREMENT
können wir also den Wert des Felds AUTO_INCREMENT
effizient aktualisieren, um die Werte der Datensätze in der Spalte, die dem Primärschlüssel zugeordnet ist, automatisch zu aktualisieren.