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

Super detaillierte Schritte zur Installation von Zabbix3.0 auf Centos7

Vorwort Vor Kurzem wurde ein Teil der Geschäftstä...

JavaScript-Singleton-Modus zum Implementieren benutzerdefinierter Popup-Fenster

In diesem Artikel wird der spezifische Code des J...

Detaillierte Erläuterung der MySQL-Benutzervariablen und Set-Anweisungsbeispiele

Inhaltsverzeichnis 1 Einführung in Benutzervariab...

Zugriffsvorgang im MySQL-Befehlszeilenmodus MySQL-Datenbankvorgang

Nutzungsumgebung Geben Sie im cmd-Modus mysql --v...

Tutorial zur Installation von MySQL8 auf Centos7

Neue Funktionen in MySQL 8: Meine persönliche Mei...

So installieren Sie Docker mit YUM

Wie in der folgenden Abbildung dargestellt: Wenn ...

JS Leicht verständliche Funktion und Konstruktor

Inhaltsverzeichnis 1. Übersicht 1.1 Erstellen ein...

Lösung für Fremdschlüsselfehler bei der MySQL-Tabellenerstellung

Datenbanktabelle A: Tabelle erstellen Task_Desc_T...

MySQL 8.0.20 Installations- und Konfigurations-Tutorial unter Win10

Super ausführliches Tutorial zur Installation und...

Tutorial zur Docker-Installation in einer Linux-Umgebung

1. Installationsumgebung Docker unterstützt die f...

So konfigurieren Sie inländische Quellen in CentOS8 yum/dnf

CentOS 8 hat das Installationsprogramm für Softwa...

So verwenden Sie vw+rem für das mobile Layout

Verwenden Sie immer noch das flexible Rem-Layout?...