Како ресетовати секвенцу у ПостгреСКЛ-у

Kako Resetovati Sekvencu U Postgreskl U



Коришћење ПостгреСКЛ секвенце је ефикасан начин рада са вредношћу аутоматског повећања, посебно за примарне кључеве. Када почетна вредност није дефинисана, аутоматски инкремент за ИНТ ће почети од 0. Међутим, можете одредити коју почетну вредност да користите за секвенцу у колони за аутоматско повећање.

Штавише, ако дође до ситуације која захтева да промените следећу вредност у низу, можете брзо ресетовати секвенцу и одредити са којом вредношћу да почнете за следећи унос у табели. Сви детаљи које треба да знате о томе како да ресетујете секвенцу у ПостгреСКЛ-у су детаљно описани у овом посту. Погледај!

Пример како да ресетујете секвенцу у ПостгреСКЛ-у

Помоћу ИНТ колоне можете креирати секвенцу за аутоматско повећање и користити је као примарни кључ за своју табелу. На тај начин нећете морати да уносите његове вредности приликом покретања ИНСЕРТ упита јер ће се вредности целог броја аутоматски генерисати. Када је секвенца креирана, команда АЛТЕР СЕКУЕНЦЕ вам омогућава да поново покренете секвенцу и наведете нову почетну вредност за нове уносе.







За овај пример, радићемо са следећом табелом „усер_детаилс“. Наш фокус је колона „усер_ид“ која је секвенца са аутоматским повећањем која почиње од 100.





Да бисте навели различите секвенце у бази података, покрените следећу команду:





\дс

У нашем случају, циљамо на секвенцу „усер_ид“.



Да бисте добили више детаља о секвенци, покрените упит „селецт“ као што је приказано у наставку:

СЕЛЕЦТ * ФРОМ име_секвенца;

Видимо да је последња вредност у постојећем низу 104. Ресетујемо ову вредност и дефинишемо нову вредност коју ће имати нови уноси.

Да бисте ресетовали ПостгреСКЛ секвенцу, користите следећу команду:

АЛТЕР СЕКУЕНЦЕ секвенца_наме РЕСТАРТ ВИТХ вредност;

За наш случај, рецимо да желимо да поново покренемо секвенцу и започнемо нове уносе на 20. Након покретања следеће команде, добијамо излаз, као што је приказано у наставку, који потврђује да је секвенца измењена.

Ако поново покренемо ранију команду да бисмо добили детаље наше секвенце помоћу СЕЛЕЦТ наредбе, можемо видети да је нова „ласт_валуе“ за овај случај вредност коју смо навели командом АЛТЕР.

Хајде да убацимо нови унос у нашу табелу да видимо шта се дешава. Следећа слика приказује упит ИНСЕРТ и резултате које добијамо након покретања наредбе СЕЛЕЦТ. Обратите пажњу како нови унос има свој „усер_ид“ подешен на 20. Сви нови уноси које направимо ће имати њихов „усер_ид“ генерисан на основу последње вредности која је 20.

Ако направимо још један унос, његов „усер_ид“ ће бити 21 и низ ће се наставити користећи исту логику. Тако ресетујете секвенцу у ПостгреСКЛ-у. Имајте на уму да команда „ресет“ не утиче на постојеће записе. Он само дефинише нову почетну вредност за уносе које уносите након ресетовања секвенце.

Закључак

Уз ПостгреСКЛ, могућност аутоматског генерисања целобројних вредности у колони примарног кључа поједностављује ствари. Када имате постојећу секвенцу, можете користити АЛТЕР СЕКУЕНЦЕ
команду са опцијом РЕСТАРТ ВИТХ да одредите коју секвенцу желите да ресетујете и коју вредност да поставите као последњу вредност у низу. На тај начин, нови уноси ће имати целобројну вредност генерисану на основу нове последње вредности. Погледајте представљени пример да бисте разумели како функционише ресетовање ПостгреСКЛ секвенце.