0
我創建表,以便:約束導致的錯誤,但儘管這樣,AUTO_INCREMENT遞增
CREATE TABLE mytable(
name CHARACTER VARYING CONSTRAINT exact_11char CHECK(CHAR_LENGTH(name) = 11) ,
age INTEGER
)
然後加入ID PRIMARY KEY
列
ALTER TABLE mytable ADD COLUMN id BIGSERIAL PRIMARY KEY
然後,在列試圖插入name
數據,當其性格長度不是11
,從CONSTRAINT
發生錯誤。好的,但是,id列序列在每次嘗試失敗時都會增加。
如何使:失敗(原因CONSTRAINT)嘗試,而不是遞增auto_inceremented
列?
PostgreSQL的版本是:9.2
搜索[無縫序列](https://www.google.com.br/search?q=postgresql+gapless+sequence&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla :en-US:非官方&client = firefox-a) –
@Clodoaldo ---謝謝。 – RIKI
你爲什麼要這樣?生成PK值沒有任何意義,因此根本不管生成什麼值。節省自己很多麻煩,而忽略這一點。 –