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

Ubuntu Docker-Installation in VMware (Containererstellung)

1. Mindmap 2. So bauen Sie einen Container 2.1 Vo...

Schritte und Methoden zur Bindung von Domänennamen und IPs in der Alibaba Cloud

1 Rufen Sie die Alibaba Cloud-Konsole auf, suchen...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.5.27 winx64

1. Installationspaket MySQL-Dienst-Downloadadress...

Unterschied zwischen HTML ReadOnly und Enabled

Das Textfeld mit dem ReadOnly-Attribut wird auf de...

Unterschiede zwischen Windows Server 2008R2, 2012, 2016 und 2019

Inhaltsverzeichnis Allgemeine Versionseinführung ...

CSS-Code zur Steuerung der Hintergrundfarbe der Webseite

Ich glaube, jeder macht sich oft Sorgen, ob er Bi...

Interpretation des CocosCreator-Quellcodes: Engine-Start und Hauptschleife

Inhaltsverzeichnis Vorwort Vorbereitung Gehen! Te...

Vue-cli erstellt ein Projekt und analysiert die Projektstruktur

Inhaltsverzeichnis 1. Geben Sie ein Verzeichnis e...

So implementieren Sie ein Glücksradspiel im WeChat-Applet

Ich stelle hauptsächlich vor, wie man im WeChat-A...

Der einfachste Weg, das MySQL-Root-Passwort zurückzusetzen

Meine MySQL-Version ist MySQL V5.7.9, bitte verwe...