Beispielcode zur Implementierung einer Auto-Increment-Sequenz in MySQL

Beispielcode zur Implementierung einer Auto-Increment-Sequenz in MySQL

1. Erstellen Sie eine Sequenztabelle

CREATE TABLE `Sequenz` (
 `name` varchar(50) COLLATE utf8_bin NOT NULL COMMENT 'Sequenzname',
 `current_value` int(11) NOT NULL COMMENT 'Aktueller Wert der Sequenz',
 `Inkrement` int(11) NICHT NULL STANDARD '1' KOMMENTAR 'Sequenz-Autoinkrement',
 PRIMÄRSCHLÜSSEL (`Name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

2. Erstellen – Funktion zum Abrufen des aktuellen Wertes

Funktion löschen, wenn currval vorhanden ist; 
TRENNUNGSZEICHEN $ 
CREATE FUNCTION currval (Sequenzname VARCHAR (50)) 
   Gibt eine Ganzzahl zurück
   SPRACHE SQL 
   DETERMINISTISCH 
   ENTHÄLT SQL 
   SQL-SICHERHEITSDEFINIERER 
   KOMMENTAR ''
BEGINNEN
   DECLARE-Wert INTEGER; 
   SET-Wert = 0; 
   Wählen Sie aktuellen Wert in Wert aus. 
     FROM-Sequenz
     WO Name = Sequenzname; 
   RETURN-Wert; 
ENDE
$ 
TRENNUNGSZEICHEN ; 

3. Erstellen – Funktion zum Abrufen des nächsten Wertes

DROP-FUNKTION, WENN EXISTIERT nextval; 
TRENNUNGSZEICHEN $ 
CREATE FUNCTION nextval (Sequenzname VARCHAR (50)) 
   Gibt eine Ganzzahl zurück 
   SPRACHE SQL 
   DETERMINISTISCH 
   ENTHÄLT SQL 
   SQL-SICHERHEITSDEFINIERER 
   KOMMENTAR '' 
BEGINNEN 
   UPDATE-Sequenz 
     SET aktueller_Wert = aktueller_Wert + Inkrement 
     WO Name = Sequenzname; 
   RETURN currval(Sequenzname); 
ENDE 
$ 
TRENNUNGSZEICHEN ; 

4. Erstellen – Funktion zum Aktualisieren des aktuellen Wertes

DROP-FUNKTION, WENN EXISTIERT, setval; 
TRENNUNGSZEICHEN $ 
CREATE FUNCTION setval (Sequenzname VARCHAR (50), Wert INTEGER) 
   Gibt eine Ganzzahl zurück 
   SPRACHE SQL 
   DETERMINISTISCH 
   ENTHÄLT SQL 
   SQL-SICHERHEITSDEFINIERER 
   KOMMENTAR '' 
BEGINNEN 
   UPDATE-Sequenz 
     SET aktueller_Wert = Wert 
     WO Name = Sequenzname; 
   RETURN currval(Sequenzname); 
ENDE 
$ 
TRENNUNGSZEICHEN ; 

5. Testen Sie das Hinzufügen einer Instanz zur Ausführung von SQL

INSERT INTO sequence VALUES ('testSeq', 0, 1);-- Fügt einen Sequenznamen und einen Anfangswert sowie die Autoinkrementrate hinzuSELECT SETVAL('testSeq', 10);-- Setzt den Anfangswert der angegebenen SequenzSELECT CURRVAL('testSeq');-- Fragt den aktuellen Wert der angegebenen Sequenz abSELECT NEXTVAL('testSeq');-- Fragt den nächsten Wert der angegebenen Sequenz ab

Dies ist das Ende dieses Artikels über den Beispielcode zur Implementierung der Autoinkrementsequenz in MySQL. Weitere Informationen zur Autoinkrementsequenz in MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So ändern Sie den Startwert der MySQL-Auto-Increment-ID
  • So setzen Sie die MySQL-Auto-Increment-ID auf 0 zurück
  • So setzen Sie den Anfangswert der Spalte AUTO_INCREMENT in MySQL zurück
  • 3 Java-Methoden zum Abrufen des Auto-Increment-ID-Werts des zuletzt eingefügten MySQL-Datensatzes
  • Verwandte Einstellungen und Probleme der auto_increment-Funktion in MySQL
  • Einführung in die Verwendung von MySQL Rownumber SQL zum Generieren selbstinkrementierender Sequenznummern
  • Diese Dinge wissen Sie vielleicht nicht über die automatische ID-Inkrementierung in MySQL
  • Lösung für das Problem der Selbstinkrement-ID in der MySQL-Tabelle
  • Fehlerbehebung und Lösungen für das Problem der MySQL-Autoinkrement-ID-Übergröße
  • Beispiel für die Änderung des Auto-Increment-Primärschlüsseltyps von int zu char in MySQL
  • Verwenden des MyBatis-Frameworks von Java zum Abrufen des automatisch inkrementierten Primärschlüssels beim Einfügen von Datensätzen in MySQL

<<:  Grundlegendes zur CSS-Eigenschaft „transform-origin“

>>:  Eine detaillierte Einführung in die Linux-Verzeichnisstruktur

Artikel empfehlen

Eine kurze Diskussion über den magischen Schrägstrich im Nginx Reverse Proxy

Beim Konfigurieren des Nginx-Reverse-Proxys könne...

Detaillierte Schritte zum Einrichten eines Nexus-Servers

1. Die Bedeutung des Aufbaus eines Nexus-Dienstes...

So zeigen Sie JSON-Daten auf einer HTML-Seite an und formatieren sie

JSON-Daten werden auf der HTML-Seite angezeigt un...

Vor- und Nachteile von React Hooks

Inhaltsverzeichnis Vorwort Vorteil: Mangel: 1. Re...

So optimieren Sie Bilder, um die Website-Leistung zu verbessern

Inhaltsverzeichnis Überblick Was ist Bildkomprimi...

So erstellen Sie schnell MySQL Master-Slave mit mysqlreplicate

Einführung Das mysql-utilities-Toolset ist eine S...

Grafisches Tutorial zur Installation der komprimierten Version von MySQL 8.0.15

In diesem Artikel wird die Installationsmethode d...

So implementieren Sie einen reibungslosen Neustart von Nginx

1. Hintergrund Während des Serverentwicklungsproz...

Vier Methoden zur Datentypbeurteilung in JS

Inhaltsverzeichnis 1. Art von 2. Instanz von 3. K...

XHTML-Tags haben ein schließendes Tag

<br />Ursprünglicher Link: http://www.dudo.o...