在 MySQL 中,序列是一種生成連續數值的對象。序列主要被用作自增列的替代品,既可以手動指定開始值和增量,也可以自動生成。
以下是在 MySQL 中添加序列到數據庫的示例代碼:
CREATE TABLE orders ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, customer_name VARCHAR(50) NOT NULL, order_date DATE NOT NULL, order_number INT NOT NULL ); CREATE SEQUENCE order_number_seq START WITH 1000;
以上代碼創建一個名為 orders 的表,包含自增的主鍵列和一個名為 order_number 的列。下一步是創建一個名為 order_number_seq 的序列,它從 1000 開始進行計數。
接下來,我們將使用序列設置 order_number 列的默認值。
ALTER TABLE orders ALTER COLUMN order_number SET DEFAULT NEXTVAL('order_number_seq');
以上代碼將 order_number 列的默認值設置為序列的下一個值。
現在,我們可以插入一條新的訂單記錄并查看 order_number 的值:
INSERT INTO orders (customer_name, order_date) VALUES ('John Doe', CURDATE()); SELECT * FROM orders;
以上代碼將一個名為 John Doe 的客戶的訂單插入到 orders 表中,并選擇所有表中的行。結果應該類似于:
+----+--------------+------------+--------------+ | id | customer_name | order_date | order_number | +----+--------------+------------+--------------+ | 1 | John Doe | 2021-11-16 | 1000 | +----+--------------+------------+--------------+
如您所見,order_number 的值為 1000,這是序列生成的下一個值。
這就是在 MySQL 中添加序列并使用它的基礎知識。