我有一个名为Login的表格,它包含了rank,username和password这几个字段。
我希望rank字段的值能够随着username和password的添加而自动递增。
在PostgreSQL中,我该如何实现这个功能?
我有一个名为Login的表格,它包含了rank,username和password这几个字段。
我希望rank字段的值能够随着username和password的添加而自动递增。
在PostgreSQL中,我该如何实现这个功能?
Serial
的列。请参考此页面(底部)了解该数据类型的更多信息。CREATE TABLE yourtable (
rank SERIAL NOT NULL,
username VARCHAR(20) NOT NULL,
password VARCHAR(50) NOT NULL
);
insert into yourtable (username, password) values ('moobars', 'boobars');
然后数据库会自动递增排名列。 - Eric Leschinski可以创建一个序列(Sequence),它会自动递增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;
create table login (rank serial, username varchar(20), password varchar(20))
串行数据类型是您想要的。
INTEGER PRIMARY KEY generated always as identity
代替SERIAL
。 - TarHalda