Как автоинкремент в PostgreSQL?
У меня есть вход в систему. Он имеет ранг полей, имя пользователя и пароль.
Я хочу, чтобы значение поля ранга автоматически увеличивалось по отношению к добавлению имени пользователя и пароля.
Как это сделать в PostgreSQL?
Ответы
Ответ 1
Можно создать последовательность, которая автоматически увеличит значение столбца рангов.
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
Вы ищете столбец с типом данных Serial
. См. эту страницу (внизу) для получения дополнительной информации об этом типе данных.
Так, например, определение вашей таблицы может выглядеть так:
CREATE TABLE yourtable (
rank SERIAL NOT NULL,
username VARCHAR(20) NOT NULL,
password VARCHAR(50) NOT NULL
);
Ответ 3
create table login (rank serial, username varchar(20), password varchar(20))
Серийный тип данных - это то, что вы хотите.