Paano Mag-set up ng Pangunahing Key ng Pagdagdag ng PostgreSQL?

How Setup Postgresql Auto Increment Primary Key



Maaaring may mga okasyon kung saan nagtatayo at nagpapanatili ka ng mga talahanayan sa PostgreSQL kung nais mo ang mga partikular na halaga para sa isang haligi na nabuo ayon sa kahilingan. Partikular itong magiging totoo para sa mga haligi ng id na kumikilos bilang pangunahing key ng talahanayan. Sa kabutihang palad, pinapayagan ng SERIAL pseudo-type na gawing maginhawa ang isang auto-incrementing integer series. Ang isang serye ay isang uri ng object ng database sa PostgreSQL na gumagawa ng isang serye ng mga index o integer. Ang isang pagkakasunud-sunod ng PostgreSQL ay gumagawa ng isang string ng mga natatanging integer, na ginagawang angkop upang magamit bilang pangunahing key kapag bumubuo ng isang bagong talahanayan. Ipapakita namin sa iyo kung anong mga auto-increment menas sa PostgreSQL at gagamitin namin ang SERIAL pseudo-type sa buong gabay na ito.

Syntax:

Ang pangkalahatang syntax para sa paglikha ng pangunahing key ng pagdaragdag ng auto ay ang mga sumusunod:







>>GUMAWA NG TABLE table_name( idSERYAL);

Sulyapan natin ngayon ang detalyadong CREATE TABLE na mas detalyado:



  • Ang PostgreSQL ay bumubuo muna ng isang entity ng serye. Gumagawa ito ng susunod na halaga sa serye at itinatakda ito bilang default na halaga ng sanggunian ng patlang.
  • Nalalapat ng PostgreSQL ang ipinahiwatig na paghihigpit HINDI NULO sa isang patlang ng id dahil ang isang serye ay gumagawa ng mga halagang bilang.
  • Ang patlang ng id ay ilalaan bilang may-ari ng serye. Kung ang patlang ng id o ang talahanayan mismo ay tinanggal, ang pagkakasunud-sunod ay itatapon.

Upang makuha ang konsepto ng auto-increment, mangyaring tiyaking naka-mount at naka-configure ang PostgreSQL sa iyong system bago magpatuloy sa mga guhit sa gabay na ito. Buksan ang postgreSQL command-line shell mula sa desktop. Idagdag ang iyong pangalan ng server kung saan mo nais gumana, kung hindi man ay naiwan ito sa default. Isulat ang pangalan ng database na nakalagay sa iyong server kung saan mo nais na gumana. Kung hindi mo nais na baguhin ito at iwanan ito bilang default. Gagamitin namin ang test database, kaya dinagdag namin ito. Maaari mo ring magtrabaho sa default port 5432, ngunit maaari mo rin itong baguhin. Sa huli, kailangan mong ibigay ang username para sa napili mong database. Iwanan ito sa default kung hindi mo nais na baguhin ito. I-type ang iyong password para sa napiling username at pindutin ang Enter mula sa keyboard upang simulang gamitin ang command shell.







Paggamit ng SERIAL Keyword bilang Uri ng Data:

Kapag lumikha kami ng isang talahanayan, karaniwang hindi namin idaragdag ang keyword na SERIAL sa pangunahing larangan ng haligi. Nangangahulugan ito na kailangan naming idagdag ang mga halaga sa pangunahing pangunahing haligi habang ginagamit ang pahayag na INSERT. Ngunit kapag ginamit namin ang keyword na SERIAL sa aming query habang lumilikha ng isang talahanayan, hindi namin kailangang magdagdag ng mga pangunahing halaga ng haligi habang inilalagay ang mga halaga. Tingnan natin ito.

Halimbawa 01:

Lumikha ng isang talahanayan Pagsubok na may dalawang haligi id at pangalan. Ang haligi ng id ay tinukoy bilang pangunahing pangunahing haligi bilang ang datatype nito ay SERIAL. Sa kabilang banda, ang pangalan ng haligi ay tinukoy bilang TEXT NOT Null na uri ng data. Subukan ang utos sa ibaba upang lumikha ng isang talahanayan at ang talahanayan ay malilikha nang mahusay tulad ng nakikita sa imahe sa ibaba.



>>Lumikha ng pagsubok sa TABLE( idSERIAL PRIMARY KEY, pangalang TEXT AY HINDI NULO);

Ipasok natin ang ilang mga halaga sa pangalan ng haligi ng bagong nilikha na tEST na talahanayan. Hindi kami magdagdag ng anumang halaga sa id ng haligi. Maaari mong makita na ang mga halaga ay matagumpay na naipasok gamit ang INSERT command tulad ng nakasaad sa ibaba.

>>Ipasok sa pagsubok(pangalan)VALUES('Aqsa'),('Rimsha'),('Khan');

Panahon na upang suriin ang mga tala ng talahanayan na 'Pagsubok'. Subukan ang nasa ibaba PUMILI tagubilin sa command shell.

>>PUMILI*MULA sa Pagsubok;

Mula sa output sa ibaba, mapapansin mo na ang id ng haligi ay awtomatikong nakakuha ng ilang mga halaga dito kahit na hindi kami nagdagdag ng anumang mga halaga mula sa INSERT utos dahil sa datatype na SERIAL na tinukoy namin para sa id ng haligi. Ganito gumagana ang datatype SERIAL sa sarili nitong paraan.

Halimbawa 02:

Ang isa pang paraan upang suriin ang halaga ng haligi ng uri ng data ng SERIAL ay sa pamamagitan ng paggamit ng RETURNING keyword sa INSERT command. Ang deklarasyon sa ibaba ay lumilikha ng isang bagong linya sa talahanayan ng Pagsubok at nagbubunga ng halaga para sa patlang ng id:

>>Ipasok sa pagsubok(pangalan)VALUES('Hassam')PAGBABALIKid;

Sa pamamagitan ng pagsuri sa mga talaan ng talahanayan Pagsubok gamit ang SELECT query, nakuha namin ang output sa ibaba tulad ng ipinakita sa imahe. Ang pang-limang tala ay mahusay na naidagdag sa talahanayan.

>>PUMILI*MULA sa Pagsubok;

Halimbawa 03:

Ang kahaliling bersyon ng query sa itaas na insert ay gumagamit ng DEFAULT keyword. Gagamitin namin ang pangalan ng haligi id sa utos ng INSERT, at sa seksyong VALUES, bibigyan namin ito ng DEFAULT na keyword bilang halaga nito. Ang query sa ibaba ay gagana nang pareho sa pagpapatupad.

>>Ipasok sa pagsubok(id, pangalan)VALUES(DEFAULT, 'Lahi');

Suriing muli ang talahanayan gamit ang SELECT query tulad ng sumusunod:

>>PUMILI*MULA sa Pagsubok;

Maaari mong makita mula sa output sa ibaba, ang bagong halaga ay naidagdag habang ang haligi id ay nadagdagan bilang default.

Halimbawa 04:

Ang numero ng pagkakasunud-sunod ng patlang na SERIAL haligi ay maaaring matagpuan sa isang talahanayan sa PostgreSQL. Ang pamamaraang pg_get_serial_sequence () ay ginagamit upang magawa ito. Kailangan nating gamitin ang pagpapaandar ng currval () kasama ang pamamaraang pg_get_serial_sequence (). Sa query na ito, ibibigay namin ang pangalan ng talahanayan at ang pangalan ng haligi ng SERIAL sa mga parameter ng pagpapaandar na pg_get_serial_sequence (). Tulad ng nakikita mo, tinukoy namin ang talahanayan na Test at haligi id. Ginamit ang pamamaraang ito sa halimbawa ng query sa ibaba:

>>PUMILI ng currval(pg_get_serial_sequence('Pagsusulit', 'id'));

Mahalagang tandaan na ang aming pagpapaandar ng currval () ay tumutulong sa amin na makuha ang pinakabagong halaga ng pagkakasunud-sunod, na kung saan ay 5. Ang larawan sa ibaba ay isang paglalarawan ng kung ano ang maaaring hitsura ng pagganap.

Konklusyon:

Sa gabay na tutorial na ito, ipinakita namin kung paano gamitin ang SERIAL pseudo-type sa auto-increment sa PostgreSQL. Gumagamit ng isang serye sa PostgreSQL, simpleng bumuo ng isang auto-incrementing na hanay ng mga numero. Inaasahan namin, mailalapat mo ang patlang na SERIAL sa mga paglalarawan sa talahanayan gamit ang aming mga guhit bilang isang sanggunian.