如何在PostgreSQL中自动增加?

时间:2010-06-24 09:43:51

标签: postgresql

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

我希望在添加用户名和密码时自动递增排名字段值。

如何在PostgreSQL中执行此操作?

3 个答案:

答案 0 :(得分:47)

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

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

CREATE TABLE yourtable (
    rank SERIAL NOT NULL,
    username VARCHAR(20) NOT NULL,
    password VARCHAR(50) NOT NULL
);

答案 1 :(得分:31)

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

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;

答案 2 :(得分:4)

create table login (rank serial, username varchar(20), password varchar(20))

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