MySQL 中沒有原生的序列對象,但是可以使用自增主鍵實現類似的功能。
首先,在創建表的時候需要添加一個自增主鍵列。使用INT
數據類型,并設置為PRIMARY KEY
和AUTO_INCREMENT
:
CREATE TABLE example_table ( id INT PRIMARY KEY AUTO_INCREMENT, col1 VARCHAR(100), col2 INT );
在插入數據時,可以忽略這個自增主鍵值,因為 MySQL 會自動為這個列賦值為自增長的下一個值:
INSERT INTO example_table (col1, col2) VALUES ('foo', 42); INSERT INTO example_table (col1, col2) VALUES ('bar', 27);
此時,表example_table
中會有兩行數據,其中 id 列的值分別為 1 和 2。
如果想要在插入數據之前獲取下一個自增的值,可以使用 MySQL 的LAST_INSERT_ID()
函數:
SELECT LAST_INSERT_ID();
這個函數返回的值就是下一個自增主鍵的值。
總結一下,通過將自增主鍵列作為序列來使用,可以在 MySQL 中實現自增的序列的功能。
上一篇mysql建表后添加主鍵
下一篇mysql建表外鍵怎么寫