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
EXPLAIN zeigt, wie MySQL Indizes verwendet, um Au...
Inhaltsverzeichnis 1. Zeichne einen Kreis 2. Krei...
Ich habe kürzlich an einer Kommentarfunktion gear...
Dieser Artikel wurde auf GitHub https://github.co...
Inhaltsverzeichnis Zusammenfassung der Distribute...
Ich bin heute auf ein Problem gestoßen: Kann ich ...
In diesem Artikel wird der spezifische Code von j...
Überblick Dieser Artikel beginnt mit der Einführu...
Inhaltsverzeichnis 1. Verwenden Sie das Warehouse...
Spezifische Methode: 1. Drücken Sie [ Win+R ], um...
Warum? Am einfachsten lässt es sich so ausdrücken:...
1. Installation der dekomprimierten Version (1). ...
Beschränken Sie input Eingabefeld auf reine Zahle...
Ausführen des Skripts im Debugmodus Sie können da...
In diesem Artikelbeispiel wird der spezifische Co...