點關注不迷路,歡迎再訪!
精簡部落格內容,盡量已行業術語來分享。努力做到對每一位認可自己的讀者負責。
幫助別人的同時更是豐富自己的良機。
mysql不支援直接的sequence,所以需要建立一張table來模擬sequence的功能
create
table
uuser_sequence
( name varchar(50
)not
null
, current_value int
notnull
, increment int
notnull
default1,
primary
key(name)
);
drop
function
ifexists currval;
delimiter $
create
function
currval
(seq_name varchar(50
))returns
integer
language
sqldeterministic
contains
sqlsql
security
definer
comment
''begin
declare value integer
;set value =0;
select current_value into value
from uuser_sequence
where name = seq_name;
return value;
end$
delimiter
;
drop
function
ifexists nextval;
delimiter $
create
function
nextval
(seq_name varchar(50
))returns
integer
language
sqldeterministic
contains
sqlsql
security
definer
comment
''begin
update uuser_sequence
set current_value = current_value + increment
where name = seq_name;
return
currval
(seq_name)
;end
$ delimiter
;
drop
function
ifexists setval;
delimiter $
create
function
setval
(seq_name varchar(50
), value integer
)returns
integer
language
sqldeterministic
contains
sqlsql
security
definer
comment
''begin
update uuser_sequence
set current_value = value
where name = seq_name;
return
currval
(seq_name)
;end
$ delimiter
;
--新增乙個sequence名稱和初始值,以及自增幅度
insert
into uuser_sequence values
('group_user_seq'
,100,1
);--查詢指定sequence的下乙個值
select
nextval
('group_user_seq'
);
MySQL 自增序列
5.7.23 select version 非主鍵形式的自增欄位 create table test3 id int auto increment not null,str varchar 2 key id 自增預設從1開始 truncat後,自增序列重新開始 設定自增開始值 同時 建立自增序列字段...
mysql 實現id自增序列 mysql自增id列
如果希望在每次插入新記錄時,自動地建立主鍵欄位的值。可以在表中建立乙個 auto increment 字段。mysql 使用 auto increment 關鍵字來執行 auto increment 任務。預設地auto increment 的開始值是 1,每條新記錄遞增 1。主鍵又稱主關鍵字,主關...
ORACLE建立自增序列
步驟 1.建立序列 2.建立觸發器。語法解析 create sequence tb code sequence minvalue 1 maxvalue 999999999999999999999999999 start with 11 increment by 1 cache 10 create o...