MySQL-Code zur Implementierung der Sequenzfunktion

MySQL-Code zur Implementierung der Sequenzfunktion

MySQL implementiert Sequenzfunktion

1. Erstellen Sie eine Sequenzdatensatztabelle

Tabelle `sys_sequence` erstellen (
 `seq_name` varchar(50) ZEICHENSATZ latin1 COLLATE latin1_bin NICHT NULL,
 `min_value` int(11) NICHT NULL,
 `max_value` int(11) NICHT NULL,
 `current_value` int(11) NICHT NULL,
 `increment_value` int(11) NICHT NULL STANDARD '1',
 PRIMÄRSCHLÜSSEL (`seq_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

2. Sequenzielle Grundfunktionen festlegen

TRENNUNGSZEICHEN $$
CREATE DEFINER=`root`@`%` FUNCTION `_nextval`(name varchar(50)) GIBT int(11) RÜCKGABE
beginnen 
Deklariere _cur int;
deklariere _maxvalue int; – erhalte den Maximalwert deklariere _increment int; – erhalte die Anzahl der Inkrementschritte setze _increment = (wähle increment_value aus sys_sequence, wobei seq_name = Name);
setze _maxvalue = (wähle max_value aus sys_sequence, wobei seq_name = Name);
setze _cur = (wähle current_value aus sys_sequence, wobei seq_name = Name); 
update sys_sequence -- Den aktuellen Wert aktualisieren, setze current_value = _cur + increment_value 
wobei seq_name = Name; 
if(_cur + _increment >= _maxvalue) then -- Überprüfe, ob beide den Maximalwert erreicht haben update sys_sequence 
    setze aktuellen_Wert = min_Wert 
    wobei seq_name = Name;
Ende wenn;
gibt _cur zurück; 
Ende$$
TRENNUNGSZEICHEN ;

3. Fügen Sie die Sequenz ein, die Sie erstellen möchten

INSERT INTO `mydb`.`sys_sequence`
(`Sequenzname`,
`min_wert`,
`max_wert`,
`aktueller_Wert`,
`Wert erhöhen`)
WERTE
('seq_name1', 1, 99999999, 1, 1);

4. Sequenz verwenden

wähle _nextval('seq_name1');

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Sequenzimplementierungsmethode basierend auf MySQL
  • Tutorial zum Erstellen einer selbsterhöhenden Sequenz in MySQL
  • So legen Sie die automatische Wachstumssequenz SEQUENCE in MySQL fest

<<:  Detaillierte Erläuterung der Anwendung der Docker-Basistechnologie Namespace Cgroup

>>:  So verwenden Sie JavaScript, um mehrere gängige Browser über userAgent zu bestimmen

Artikel empfehlen

So verstehen Sie die JS-Funktion Anti-Shake und Funktionsdrosselung

Inhaltsverzeichnis Überblick 1. Funktion Entprell...

Lassen Sie uns über Parameter in MySQL sprechen

Vorwort: In einigen früheren Artikeln haben wir h...

Beispielcode zum Erstellen von Desktop-Anwendungen mit Vue + Electron

1.vue-Verpackung Hier verwenden wir den Befehl „v...

Der Unterschied zwischen Docker Run und Start

Der Unterschied zwischen Ausführen und Starten in...

Antworten auf mehrere häufig gestellte MySQL-Interviewfragen

Vorwort: Bei Vorstellungsgesprächen für verschied...

Grundlegende Referenztypen der erweiterten JavaScript-Programmierung

Inhaltsverzeichnis 1. Datum 2. RegExp 3. Original...

Einige Erfahrungen in der Selbstkultivierung von Künstlern

Da der Einfluss des Unternehmens wächst und seine...

Detaillierte Erläuterung der Windows-Zeitserver-Konfigurationsmethode

Kürzlich habe ich festgestellt, dass die Serverze...

Detailliertes Tutorial zur Installation von Docker auf CentOS 8

1. Frühere Versionen yum entfernen Docker Docker-...

Fehler beim reduzierten Tabellenzeilenelement

Nehmen wir ein Beispiel: Der Code ist sehr einfach...

Fähigkeiten zur Seiten-Refaktorierung - Inhalt

Genug des Smalltalks <br />Basierend auf de...

innodb_flush_method-Wertmethode (Beispielerklärung)

Mehrere typische Werte von innodb_flush_method fs...

Docker-Zeitzonenproblem und Datenmigrationsproblem

Neueste Lösung: -v /usr/share/zoneinfo/Asia/Shang...