Mam stół Zaloguj się. Ma rangę pola, nazwę użytkownika i hasło.Jak automatycznie zwiększyć w PostgreSQL?
Chcę, aby wartość pola rangowego była automatycznie zwiększana w odniesieniu do dodania nazwy użytkownika i hasła.
Jak to zrobić w PostgreSQL?
Mam stół Zaloguj się. Ma rangę pola, nazwę użytkownika i hasło.Jak automatycznie zwiększyć w PostgreSQL?
Chcę, aby wartość pola rangowego była automatycznie zwiększana w odniesieniu do dodania nazwy użytkownika i hasła.
Jak to zrobić w PostgreSQL?
Można utworzyć sekwencję, która automatycznie zwiększy wartość kolumny rangi.
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;
Szukasz kolumny o typie danych Serial
. Zobacz this page (dół), aby uzyskać więcej informacji o tym typie danych.
Tak na przykład, definicja tabela może wyglądać tak:
CREATE TABLE yourtable (
rank SERIAL NOT NULL,
username VARCHAR(20) NOT NULL,
password VARCHAR(50) NOT NULL
);
@Milen A. Radev, dziękuję za dodanie tej kotwicy do mojego linku :) – pyrocumulus
Autoinkrecja działa w następujący sposób: 'wstaw wartości do twoich tabel (nazwa użytkownika, hasło) ('moobary', 'boobars');' Następnie baza danych automatycznie dostosowuje kolumna rank. –
SERIAL nie jest typem danych, tylko aliasem dla liczby całkowitej z sekwencją domyślną (patrz Asjawer Sanjay Kumar) – leonbloy
create table login (rank serial, username varchar(20), password varchar(20))
seryjny typ danych jest to, co chcesz.
Btw, masz mały błąd pisania w swoim pytaniu. To nie wzrost inkrementacji. Jeśli ją zmienisz, więcej osób znajdzie to pytanie, a odpowiednie pytania będą bardziej odpowiednie. – pyrocumulus
To dotyczy istniejącej tabeli, podczas gdy inne pytanie dotyczy bardziej nowych tabel IMO. Więc to nie jest duplikat, chyba że je scalisz. – DanMan