在實際開發中會有這樣的需求,想要自己設置表中自增字段的初始值。
比如:有一個your_table表中有一個自增字段id,我們知道,插入數據后,默認是從1開始自增的。
但是假如現在有一個需求,是要求id從100開始插入,那么該怎么實現呢?其實就是一句sql命令的事兒:
select setval('your_table_id_seq', 100, false);
執行成功后,進行測試,插入一條數據后,會發現主鍵id的值會從100開始遞增。
PostgreSQL 使用序列來標識字段的自增長,數據類型有 smallserial、serial 和 bigserial 。這些屬性類似於 MySQL 數據庫支持的 AUTO_INCREMENT 屬性。
使用 MySQL 設置自動增長的語句如下:
CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `runoob_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8; MySQL 是用 AUTO_INCREMENT 這個屬性來標識字段的自增。 PostgreSQL 使用序列來標識字段的自增長: CREATE TABLE runoob ( id serial NOT NULL, alttext text, imgurl text ) SMALLSERIAL、SERIAL 和 BIGSERIAL 范圍: 偽類型 存儲大小 范圍 SMALLSERIAL 2字節 1 到 32,767 SERIAL 4字節 1 到 2,147,483,647