Postgresql 约束会导致错误,但尽管如此,auto_increment会递增
我创建表格是为了:Postgresql 约束会导致错误,但尽管如此,auto_increment会递增,postgresql,Postgresql,我创建表格是为了: CREATE TABLE mytable( name CHARACTER VARYING CONSTRAINT exact_11char CHECK( CHAR_LENGTH(name) = 11 ) , age INTEGER ) 然后添加id主键列 ALTER TABLE mytable ADD COLUMN id BIGSERIAL PRIMARY KEY 然后,当尝试在名称数据列中插入字符长度不是11的数据时,发生了来自约束的错误
CREATE TABLE mytable(
name CHARACTER VARYING CONSTRAINT exact_11char CHECK( CHAR_LENGTH(name) = 11 ) ,
age INTEGER
)
然后添加id主键
列
ALTER TABLE mytable ADD COLUMN id BIGSERIAL PRIMARY KEY
然后,当尝试在名称
数据列中插入字符长度不是11
的数据时,发生了来自约束
的错误
好的,但同时,id列序列在每次失败的尝试中都会增加
如何执行:在失败的(原因约束)尝试上,而不是递增自动递增列
postgreSQL版本为:9.2
,因为序列操作是非事务性的。因此,当相应的插入失败时,PostgreSQL中没有简单的方法可以停止序列上的增量操作。
检查链接以创建无间隙序列
搜索@Clodoaldo---谢谢。你为什么想要这个?生成PK值没有任何意义,因此生成什么值根本不重要。省去你自己很多麻烦,忽略这一点。