在 MySQL 中,序列是一種用于生成數(shù)字序列的對(duì)象。它與自增 ID 不同,自增 ID 是在插入新行時(shí)自動(dòng)生成的,而序列則是要使用nextval()
方法顯式調(diào)用才會(huì)生成下一項(xiàng)序列。
序列通常用于填充無序的數(shù)字列,例如在使用批量 insert 語句時(shí),它可生成連續(xù)的數(shù)字并填充 id 列。序列也可以用于實(shí)現(xiàn)不同數(shù)據(jù)庫間的數(shù)據(jù)映射。
以下是一個(gè) MySQL 中序列的示例:
CREATE TABLE `employee` ( `id` INT NOT NULL, `name` VARCHAR(45) NOT NULL, PRIMARY KEY (`id`) ); CREATE SEQUENCE emp_id_sequence` START WITH 1000 INCREMENT BY 1 MINVALUE 1000 MAXVALUE 9999 CYCLE;
這樣就創(chuàng)建了一個(gè)名為emp_id_sequence
的序列,它的起始值為 1000,每次自動(dòng)遞增1,最小值為 1000,最大值為 9999。當(dāng)達(dá)到最大值時(shí),序列會(huì)自動(dòng)重新開始,因?yàn)樵O(shè)置了CYCLE
參數(shù)。
然后,我們可以使用以下 SQL 語句調(diào)用序列:
INSERT INTO `employee` (`id`, `name`) VALUES (emp_id_sequence, 'Tom');
每次調(diào)用上述語句時(shí),MySQL 都會(huì)從emp_id_sequence
中生成下一個(gè)數(shù)字,并將其用于 id 列。
上一篇css 上下層級(jí)
下一篇mysql的建表并添加值