如何在postgresql中自动增加Alpha-Numeric值?
发布时间:2020-12-13 16:34:37 所属栏目:百科 来源:网络整理
导读:我正在使用“PostgreSQL 9.3.5” 我有一个表(StackOverflowTable)与列(SoId,SoName,SoDob). 我想要一个用于列SoId的序列生成器,它是一个字母数字值. 我想在postgresql中自动增加一个字母数字值. For eg : SO10001,SO10002,SO10003.....SO99999. 编辑: 如果
我正在使用“PostgreSQL 9.3.5”
我有一个表(StackOverflowTable)与列(SoId,SoName,SoDob). 我想要一个用于列SoId的序列生成器,它是一个字母数字值. 我想在postgresql中自动增加一个字母数字值. For eg : SO10001,SO10002,SO10003.....SO99999. 编辑: 如果明天我需要生成一个序列,可以作为SO1000E100,SO1000E101,……并且具有良好的性能.那么什么是最好的解决方案!
使用id的序列和默认值:
postgres=# 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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |