sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man automatiskt ökar alfanumeriskt värde i postgresql?

Använd sekvenser och standardvärde för 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)


  1. PHP och MySQL - hur undviker man lösenord i källkoden?

  2. Det går inte att infoga JSON från PostgreSQL till elasticsearch. Får fel - "Undantag vid exekvering av JDBC-fråga"

  3. RedShift - CSV-laddning med radbrytning

  4. Kan MySQL använda flera index för en enda fråga?