MySQL-Sequenz AUTO_INCREMENT ausführliche Erklärung und Beispielcode Eine MySQL-Sequenz ist eine Reihe von Ganzzahlen: 1, 2, 3, …. Da eine Datentabelle nur ein automatisch inkrementierendes Primärschlüsselfeld haben kann, können Sie eine MySQL-Sequenz verwenden, wenn Sie eine automatische Inkrementierung für andere Felder erreichen möchten. In diesem Kapitel stellen wir die Verwendung von MySQL-Sequenzen vor. Verwenden von AUTO_INCREMENT Die einfachste Möglichkeit, Sequenzen in MySQL zu verwenden, besteht darin, die Spalte mit MySQL AUTO_INCREMENT zu definieren. Beispiele Das folgende Beispiel erstellt eine Datentabelle mit dem Namen „Insekt“. Die ID in „Insekt“ kann automatisch erhöht werden, ohne dass ein Wert angegeben werden muss. mysql> CREATE TABLE Insekt -> ( -> id INT UNSIGNED NOT NULL AUTO_INCREMENT, -> PRIMÄRSCHLÜSSEL (id), -> Name VARCHAR(30) NOT NULL, # Insektenart -> Datum DATE NOT NULL, # Datum erfasst -> Herkunft VARCHAR(30) NOT NULL # wo gesammelt ); Abfrage OK, 0 Zeilen betroffen (0,02 Sek.) mysql> INSERT INTO Insekt (ID, Name, Datum, Herkunft) WERTE -> (NULL,'Stubenfliege','10.09.2001','Küche'), -> (NULL,'Tausendfüßler','10.09.2001','Einfahrt'), -> (NULL,'Heuschrecke','10.09.2001','Vorgarten'); Abfrage OK, 3 Zeilen betroffen (0,02 Sek.) Datensätze: 3 Duplikate: 0 Warnungen: 0 mysql> SELECT * FROM Insekt ORDER BY ID; +----+----------+------------+------------+ | ID | Name | Datum | Herkunft | +----+----------+------------+------------+ | 1 | Stubenfliege | 10.09.2001 | Küche | | 2 | Tausendfüßler | 10.09.2001 | Auffahrt | | 3 | Heuschrecke | 10.09.2001 | Vorgarten | +----+----------+------------+------------+ 3 Zeilen im Satz (0,00 Sek.) AUTO_INCREMENT-Wert abrufen Im MySQL-Client können Sie die Funktion LAST_INSERT_ID() in SQL verwenden, um den Wert der letzten in die Tabelle eingefügten Auto-Increment-Spalte abzurufen. In PHP- oder PERL-Skripten stehen auch entsprechende Funktionen zur Verfügung, um den Wert der Auto-Increment-Spalte in der zuletzt eingefügten Tabelle abzurufen. PERL-Beispiele Verwenden Sie das Attribut mysql_insertid, um den Wert von AUTO_INCREMENT zu erhalten. Nachfolgend sind einige Beispiele aufgeführt: $dbh->do ("INSERT INTO Insekt (Name, Datum, Herkunft) WERTE('Motte','2001-09-14','Fensterbank')"); mein $seq = $dbh->{mysql_insertid}; PHP-Beispiel PHP verwendet die Funktion mysql_insert_id(), um den Wert der Spalte AUTO_INCREMENT in der ausgeführten SQL-Einfügeanweisung abzurufen. mysql_query ("INSERT INTO Insekt (Name, Datum, Herkunft) WERTE('Motte','2001-09-14','Fensterbank')", $conn_id); : $seq = mysql_insert_id ($conn_id); Sequenz zurücksetzen Wenn Sie mehrere Datensätze einer Tabelle löschen und die AUTO_INCREMENT-Spalten der verbleibenden Daten neu anordnen möchten, können Sie dies tun, indem Sie die Auto-Increment-Spalte löschen und anschließend erneut hinzufügen. Dieser Vorgang muss jedoch mit großer Vorsicht durchgeführt werden. Wenn neue Datensätze hinzugefügt werden, während sie gelöscht werden, kann es zu Datenverwirrungen kommen. Die Funktionsweise ist wie folgt: mysql> ALTER TABLE Insekt DROP ID; mysql> ALTER TABLE Insekt -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST, -> Primärschlüssel (ID) hinzufügen; Legen Sie den Startwert der Sequenz fest Normalerweise ist der Startwert der Sequenz 1, wenn Sie aber einen Startwert von 100 angeben müssen, können wir dies mit der folgenden Anweisung tun: mysql> CREATE TABLE Insekt -> ( -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100, -> PRIMÄRSCHLÜSSEL (id), -> Name VARCHAR(30) NOT NULL, # Insektenart -> Datum DATE NOT NULL, # Datum erfasst -> Herkunft VARCHAR(30) NOT NULL # wo gesammelt ); Alternativ können Sie die folgende Anweisung verwenden, um dies zu erreichen, nachdem die Tabelle erfolgreich erstellt wurde: mysql> ALTER TABLE t AUTO_INCREMENT = 100; Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, danke für Ihre Unterstützung dieser Site! Das könnte Sie auch interessieren:
|
<<: Zusammenfassung der vier Möglichkeiten zum Durchlaufen eines Arrays in JS
>>: Docker-Installationsmethode und detaillierte Erläuterung der vier Netzwerkmodi von Docker
Problembeschreibung Ein Spring + Angular-Projekt ...
Kürzlich wurden zwei Konten auf dem Server gehack...
Inhaltsverzeichnis 1. Konfigurieren Sie zunächst ...
Die vollständigen Schritte zur Konfiguration des ...
Auch bei der tatsächlichen Entwicklung von Websei...
In diesem Artikel wird der spezifische Code von V...
Dieser Artikel veranschaulicht anhand von Beispie...
Inhaltsverzeichnis umask Umask-Nutzung Prinzip 1....
Die Drag-Funktion wird hauptsächlich verwendet, u...
1. Docker-Startproblem: Problem gelöst: Sie müsse...
Installieren Sie mysql5.7.18 auf CentOS6.7 1. Ent...
Inhaltsverzeichnis Beschreibung der Installations...
Viele Links Sie haben zweifellos viele Sites wie d...
Informationen zur ersten Installation der MySQL-5...
Um mehrere Datenbanken zu sichern, können Sie den...