Rumah > Artikel > pangkalan data > Ringkasan cara menggunakan Sequence Sequence dalam MySQL
Pembelajaran yang disyorkan: tutorial video mysql
Jika anda mahukan nilai jenis data peningkatan automatik berterusan dalam pangkalan data Oracle , yang boleh dicapai dengan mencipta urutan. Tiada urutan dalam pangkalan data MySQL. Biasanya jika jadual hanya memerlukan satu lajur autoincrement, maka kita boleh menggunakan auto_increment MySQL (jadual hanya boleh mempunyai satu kunci utama auto-increment). Jika kita ingin menggunakan jujukan dalam MySQL seperti Oracle, bagaimana kita harus melakukannya
Sebagai contoh, terdapat definisi jadual berikut:
create table `t_user`( `id` bigint auto_increment primary key, `user_id` bigint unique comment '用户ID', `user_name` varchar(10) not null default '' comment '用户名' );
user_id mestilah bertambah, dipesan dan unik. Terdapat banyak kaedah pelaksanaan, seperti algoritma kepingan salji, menggunakan Redis atau Zookeeper, dll. untuk mendapatkan nilai yang memenuhi syarat saya tidak akan memperkenalkannya satu per satu di sini. Di sini kami memperkenalkan cara menggunakan auto_increment MySQL dan last_insert_id() untuk melaksanakan urutan yang serupa dengan yang terdapat dalam Oracle.
Contohnya adalah seperti berikut:
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 ;
call pro_user_id_seq(@value); select @value from dual;Kaedah 2. Gunakan fungsi1 Cipta fungsi yang menjana jujukan
delimiter && create function user_id_seq_func() returns bigint begin declare sequence bigint; insert into t_user_id_sequence (t_text) values ('a'); select last_insert_id() into sequence from dual; delete from t_user_id_sequence; return sequence; end && delimiter ;
select user_id_seq_func() from dual; insert into t_user (user_id, user_name) values (user_id_seq_func(), 'java'); select * from t_user;
Atas ialah kandungan terperinci Ringkasan cara menggunakan Sequence Sequence dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!