it-swarm-eu.dev

Jak mohu určit, že se má sloupec v pgAdmin automaticky zvyšovat?

Začal jsem se učit pgAdmin III spravovat PostgreSQL databázi. Ale nebylo to snadno použitelné aplikace.

Pokud vytvořím nebo jsem vytvořil tabulku s pgAdminem III, jak mohu přidat funkci „auto-increment“ na id sloupce, který má celé číslo?

15
Jonas

dvě možnosti: Použijte "datový typ" SERIAL nebo vytvořte sekvenci a použijte tuto sekvenci jako výchozí hodnotu pro celé číslo:

CREATE SEQUENCE your_seq;
CREATE TABLE foo(
  id int default nextval('your_seq'::regclass),
  other_column TEXT
);
INSERT INTO foo(other_column) VALUES ('bar') RETURNING *;
17
Frank Heikens

Pokud to chcete udělat v PGAdmin, je to mnohem jednodušší než pomocí příkazového řádku. V PostgreSQL se zdá, že pro přidání automatického přírůstku do sloupce musíme nejprve vytvořit sekvenci automatického přírůstku a přidat ji do požadovaného sloupce. Líbilo se mi to.

1) Nejprve se musíte ujistit, že pro váš stůl existuje primární klíč. Uchovávejte také datový typ primárního klíče v bigint nebo smallint. (Použil jsem bigint, nemohl jsem najít datový typ zvaný serial, jak je uvedeno v jiných odpovědích jinde)

2) Poté přidejte sekvenci pravým kliknutím na sekvenci-> přidejte novou sekvenci . Pokud v tabulce nejsou žádná data, ponechte sekvenci takovou, jaká je, neprovádějte žádné změny. Prostě to ulož. Pokud existují data, přidejte poslední nebo nejvyšší hodnotu ve sloupci primárního klíče na kartu Aktuální hodnota na kartě Definice, jak je ukázáno níže. enter image description here

3) Nakonec přidejte řádek nextval('your_sequence_name'::regclass) k Výchozí hodnotě v primárním klíči, jak je ukázáno níže.

enter image description here Ujistěte se, že zde je správný název sekvence. To je vše a automatický přírůstek by měl fungovat.

15
toing_toing