如何在PostgreSQL中自动增加?

How to auto-increment in PostgreSQL?

本问题已经有最佳答案,请猛点这里访问。

我有一张桌子登录。 它有字段排名,用户名和密码。

我希望排名字段值相对于用户名和密码的添加自动递增。

我如何在PostgreSQL中执行此操作?


您正在寻找数据类型Serial的列。 有关该数据类型的更多信息,请参阅此页面(下)。

例如,您的表定义可能如下所示:

1
2
3
4
5
CREATE TABLE yourtable (
    rank SERIAL NOT NULL,
    username VARCHAR(20) NOT NULL,
    password VARCHAR(50) NOT NULL
);


可以创建一个序列,它将自动增加rank列的值。

1
2
3
4
5
6
7
8
9
CREATE SEQUENCE rank_id_seq;

CREATE TABLE yourtable (
    rank INTEGER NOT NULL DEFAULT NEXTVAL('rank_id_seq'),
    username VARCHAR(20) NOT NULL,
    password VARCHAR(50) NOT NULL
);

ALTER SEQUENCE rank_id_seq owned BY yourtable.rank;


1
CREATE TABLE login (rank serial, username VARCHAR(20), password VARCHAR(20))

串行数据类型是你想要的。