MySQL序列是一種對(duì)象,它是由MongoDB數(shù)據(jù)庫(kù)管理系統(tǒng)添加的,用于生成可用于唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中每個(gè)行的自動(dòng)遞增數(shù)字。序列是定義為一個(gè)獨(dú)立的實(shí)體,可以被引用到表中的任何列。序列定義包括下面的內(nèi)容:
CREATE SEQUENCE sequence_name [start value] [INCREMENT BY increment_value] [{MINVALUE [value] | NOMINVALUE}] [{MAXVALUE [value] | NOMAXVALUE}] [{CYCLE | NOCYCLE}] [{CACHE [value] | NOCACHE}];
其中:
- sequence_name是序列的名稱
- start value是序列的起始值,默認(rèn)為1
- increment_value是序列的遞增值,默認(rèn)為1
- MINVALUE和MAXVALUE分別表示序列的最小和最大值,如果未指定,則使用系統(tǒng)默認(rèn)值
- CYCLE表示當(dāng)序列達(dá)到最大值或最小值時(shí),是否重新開(kāi)始,默認(rèn)為不重新開(kāi)始(NOCYCLE)
- CACHE表示序列歷史記錄的數(shù)目,如果未指定,則使用系統(tǒng)默認(rèn)值。序列緩存可以提高性能。
序列可以在表中的任何字段中使用,例如:
CREATE TABLE customers ( customer_id INT PRIMARY KEY, customer_name VARCHAR(50) NOT NULL, order_id INT DEFAULT NEXTVAL('order_sequence') );
在這個(gè)示例中,order_id字段將被自動(dòng)編入唯一的、遞增的數(shù)字值。