database - 在 PostgreSQL 中为给定表创建序列和自动增量字段的语法

标签 database postgresql database-design sequence create-table

我是 PostgreSQL 新手。我正在尝试找出创建下表的语法。
我在创建序列和自动增量字段时遇到困难。

    Column    |         Type          |                      Modifiers
--------------+-----------------------+-----------------------------------------------------
 id_numuser   | integer               | not null default nextval('id_numuser_seq'::regclass)
 username     | character varying(70) |
 completename | character varying(70) |
 id_cat       | integer               |
 email        | character varying(70) |
 password     | character varying(30) |
 active       | boolean               |
Indexes:
    "users_pkey" PRIMARY KEY, btree (id_numuser)
    "taskuser_uniq" UNIQUE, btree (username)
Foreign-key constraints:
    "users_id_cat_fkey" FOREIGN KEY (id_cat) REFERENCES usercategories(id_numcat)

最佳答案

使用 serial柱子。详细信息请参见:
Auto increment SQL function

完整脚本:

CREATE TABLE users (
   id_numuser   serial PRIMARY KEY
  ,username     character varying(70) UNIQUE
  ,completename character varying(70)
  ,id_cat       integer REFERENCES usercategories(id_numcat)
  ,email        character varying(70) 
  ,password     character varying(30) 
  ,active       boolean
);

您可以使用pgAdmin获取所有对象的完整逆向工程 SQL 脚本。

旁白:我建议仅使用 text 而不是 varchar(n)

关于database - 在 PostgreSQL 中为给定表创建序列和自动增量字段的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20860029/

相关文章:

java - Android 和我的 PostgreSQL 数据库建议

sql - 在 postgresql 上将默认值设置为 null

mysql - 在同一个表中同时拥有主键和外键

database-design - 产品评论投票如何在数据库中建模?

database - Postgresql 相当于一个访问自动编号字段

Java、ResultSet.close()、PreparedStatement.close()——有什么用?

postgresql - 获取将被级联截断的表列表

sql - 模型数据库条目的图表

android - 即使没有抛出错误,将数据库复制到 SD 卡也会失败

java - H2:WHERE 子句中的 "data conversion error"