Postgres sequence 在自己增长过程中
假如我现在下面的数据表test
ID | Name
1 | test1
2 | test2
这个时候我的sequence的值是1,那么下一个如果我使用SQL insert into test(Name) values(test3)的话,就会出现duplicate的情况!
在mysql里面,他的自动增长策略会帮你自动解决,而在postgres里面就会抛出错误
Postgres sequence 的问题
- yhjhoo
- 帖子: 81
- 注册时间: 2008-05-12 18:45
- 来自: javalinux.me
-
- 帖子: 356
- 注册时间: 2007-02-15 6:26
Re: Postgres sequence 的问题
pg seq 会自动增加,但是你自己往里面 insert ID 则被忽略。可以这么搞定:
SELECT setval('test_id_seq',(SELECT MAX(id) FROM test)+1);
当然你要先看下那个自动增加的ID SEQ 叫什么。
可以用 SIDU 来管理你的 PG
sidu.sf.net
SELECT setval('test_id_seq',(SELECT MAX(id) FROM test)+1);
当然你要先看下那个自动增加的ID SEQ 叫什么。
可以用 SIDU 来管理你的 PG
sidu.sf.net
-
- 帖子: 1
- 注册时间: 2011-03-04 22:30
Re: Postgres sequence 的问题
现在可以使用serial数据类型来声明了,使用楼主的语句是可以通过的,现在看起来,是不是现在的版本高级了所以没有那么繁琐了呢