Empfohlenes Lernen: MySQL-Video-Tutorial
Wenn Sie einen kontinuierlichen, sich selbst erhöhenden Datentypwert in der Oracle-Datenbank wünschen, können Sie eine Sequenz erstellen. In der MySQL-Datenbank gibt es keine Reihenfolge. Wenn eine Tabelle normalerweise nur eine Spalte für die automatische Inkrementierung benötigt, können wir auto_increment von MySQL verwenden (eine Tabelle kann nur einen Primärschlüssel für die automatische Inkrementierung haben). Wenn wir Sequenzen in MySQL wie Oracle verwenden möchten, wie sollten wir das tun?
Zum Beispiel gibt es die folgende Tabellendefinition:
create table `t_user`( `id` bigint auto_increment primary key, `user_id` bigint unique comment '用户ID', `user_name` varchar(10) not null default '' comment '用户名' );
wobei user_id automatische Inkrementierung, Reihenfolge und Eindeutigkeit erfordert. Es gibt viele Implementierungsmethoden, wie den Snowflake-Algorithmus, die Verwendung von Redis oder Zookeeper usw., um einen Wert zu erhalten, der die Bedingungen erfüllt. Ich werde sie hier nicht einzeln vorstellen. Hier stellen wir vor, wie man mit MySQLs auto_increment und last_insert_id() eine ähnliche Sequenz wie in Oracle implementiert.
Das Beispiel lautet wie folgt:
create table `t_user_id_sequence` ( `id` bigint not null auto_increment primary key, `t_text` varchar(5) not null default '' comment 'insert value' );
delimiter && create procedure `pro_user_id_seq` (out sequence bigint) begin insert into t_user_id_sequence (t_text) values ('a'); select last_insert_id() into sequence from dual; delete from t_user_id_sequence; end && delimiter ;
Methode 2. Verwenden Sie die Funktion
Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung von Sequence Sequence in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!