我正在使用“Postgresql 9.3.5”
我有一个表(StackOverflowTable)与列(SoId,SoName,SoDob).
我想要一个用于列SoId的序列生成器,它是一个字母数字值.
For eg : SO10001,SO10002,SO10003.....SO99999.
编辑:
如果明天我需要生成一个序列,可以作为SO1000E100,SO1000E101,……并且具有良好的性能.那么什么是最好的解决方案!
使用id的序列和默认值:
原文链接:https://www.f2er.com/postgresql/192831.htmlpostgres=# CREATE SEQUENCE xxx; CREATE SEQUENCE postgres=# SELECT setval('xxx',10000); setval -------- 10000 (1 row) postgres=# CREATE TABLE foo(id text PRIMARY KEY CHECK (id ~ '^SO[0-9]+$' ) DEFAULT 'SO' || nextval('xxx'),b integer); CREATE TABLE postgres=# insert into foo(b) values(10); INSERT 0 1 postgres=# insert into foo(b) values(20); INSERT 0 1 postgres=# SELECT * FROM foo; id | b ---------+---- SO10001 | 10 SO10002 | 20 (2 rows)