MariaDB
參考資料:(https://mariadb.com/kb/en/library/sequences/)
Sequence
*這是在 MariaDB 10.3 之後才引入的功能
序列是一個生成數值序列的對象。
如果希望控制更多序列號的生成,Sequence
是 AUTO_INCREMENT
的替代方案。
取得 Sequence
注意,這個方式只可以用在 CREATE TABLE 的時候。之後要 ALTER TABLE 的時候會被 DENY。
不過習慣上似乎不會這樣寫,通常是在程式 SELECT NEXTVAL(SEQ_NAME),再塞入 SEQ,沒塞就讓資料庫噴錯,用來提示程式人員忘記塞。(不建議讓資料庫幫我們塞)
*在 MariaDB 中,Sequence 作為一種特殊的 表實現,他使用與表相同的命名空間。
好處是序列顯示在 SHOW TABLES
中,可以用 CREATE TABLE
& DROP TABLE
去創建序列。
但由於序列在上下文中充當常規表,所以它們將受到 LOCK TABLE 的影響。而這在其他 DBMS 中不是這種情況。
將 Sequence
作為表格 Primary Key
修改 Sequence 的值
還有一個方法 SETVAL。
但這個方法只可以改大,如果嘗試改成較小的值,會失敗,return null
將 Sequence 移除
Last updated