**
第一步建立乙個序列表
create table if not existssequence
(
name
varchar(50) not null,
current_value
int(11) not null,
increment
int(11) not null default 『1』 ,
primary key (name
)
) engine=myisam default charset=utf8 checksum=1 delay_key_write=1 row_format=dynamic comment=『序列表,命名s_[table_name]』;
插入一條序列,這錶每條資料都是乙個序列分別為(序列名,序列當前值,序列步長)
insert intosequence
(name
,current_value
,increment
) values
(『s_ruleauto』, 0, 1);
建立查詢函式,返回序列當前值。
drop function if existscurrval
;
delimiter //
create functioncurrval
(seq_name varchar(50)) returns int(11)
reads sql data
deterministic
begin
declare value integer;
set value = 0;
select current_value into value from sequence where name = seq_name;
return value;
end//
delimiter ;
查詢序列下乙個值
drop function if existsnextval
;
delimiter //
create functionnextval
(seq_name varchar(50)) returns int(11)
deterministic
begin
update sequence set current_value = current_value + increment where name = seq_name;
return currval(seq_name);
end//
delimiter ;
測試例子
select nextval(「s_ruleauto」)
select currval(「s_ruleauto」);
mysql序列 mysql建立序列
提到mysql,我順便講講序列。用過oracle的人都知道,orale沒有類似mysql的auto increment這樣的自增長字段,實現插入一條記錄,自動增加1.oracle是通過sequence 序列 來完成的。這樣看起來,似乎mysql的自增長要比oracle序列的實現更好更方便。那我為什麼...
建立mysql的服務 手動建立MySQL服務
1.複製乙份mysql服務檔案,放入乙個路徑 2.清理data資料夾下檔案,僅保留mysql等 3.修改my.ini,port,dir等配置 4.管理員執行cmd,cd bin mysqld install servername 5.修改regedit servername 的imagepath m...
mysql建立序列
提到mysql,我順便講講序列。用過oracle的人都知道,orale沒有類似mysql的auto increment這樣的自增長字段,實現插入一條記錄,自動增加1.oracle是通過sequence 序列 來完成的。這樣看起來,似乎mysql的自增長要比oracle序列的實現更好更方便。那我為什麼...