PostgreSQL'de Bir Dizi Nasıl Sıfırlanır

Postgresql De Bir Dizi Nasil Sifirlanir



PostgreSQL dizisini kullanmak, özellikle birincil anahtarlar için otomatik artış değeriyle çalışmanın etkili bir yoludur. Başlangıç ​​değeri tanımlanmadığında, INT için otomatik artış 0'dan başlayacaktır. Ancak, otomatik artış sütununuzda sıra için hangi başlangıç ​​değerinin kullanılacağını belirtebilirsiniz.

Üstelik sıralamadaki bir sonraki değeri değiştirmenizi gerektiren bir durumla karşılaşırsanız, sıralamayı hızlı bir şekilde sıfırlayabilir ve tablodaki bir sonraki giriş için hangi değerle başlayacağınızı belirleyebilirsiniz. PostgreSQL'de bir diziyi nasıl sıfırlayacağınızla ilgili bilmeniz gereken tüm ayrıntılar bu yazıda ayrıntılı olarak açıklanmıştır. Bir göz at!

PostgreSQL'de Bir Dizinin Nasıl Sıfırlanacağına İlişkin Örnek

INT sütunuyla otomatik artış dizisi oluşturabilir ve bunu tablonuz için birincil anahtar olarak kullanabilirsiniz. Bu şekilde, tam sayı değerleri otomatik olarak oluşturulacağından INSERT sorgusu çalıştırırken değerlerini girmenize gerek kalmaz. Sıra oluşturulduktan sonra ALTER SEQUENCE komutu, sırayı yeniden başlatmanıza ve yeni girişler için yeni bir başlangıç ​​değeri belirlemenize olanak tanır.







Bu örnek için aşağıdaki “user_details” tablosuyla çalışacağız. Odak noktamız, 100'den başlayan otomatik artış dizisi olan 'user_id' sütunudur.





Veritabanınızdaki farklı dizileri listelemek için aşağıdaki komutu çalıştırın:





\ds

Bizim durumumuz için “user_id” dizisini hedefliyoruz.



Sırayla ilgili daha fazla ayrıntı almak için aşağıda gösterildiği gibi 'seç' sorgusunu çalıştırın:

SELECT * FROM dizi_adı;

Mevcut sıralamada son değerin 104 olduğunu görüyoruz. Bu değeri sıfırlayıp yeni girişlerin sahip olacağı yeni bir değer tanımlıyoruz.

PostgreSQL sırasını sıfırlamak için aşağıdaki komutu kullanın:

ALTER SEQUENCE dizi_adı RESTART İLE değer;

Bizim durumumuz için diyelim ki diziyi yeniden başlatmak ve 20’den yeni girişlere başlamak istiyoruz. Aşağıdaki komutu çalıştırdıktan sonra aşağıdaki şekilde gösterildiği gibi dizilimin değiştirildiğini doğrulayan bir çıktı alıyoruz.

SELECT ifadesini kullanarak dizimizin detaylarını elde etmek için önceki komutu tekrar çalıştırırsak, bu durumda yeni “son_değer”in ALTER komutuyla belirttiğimiz değer olduğunu görebiliriz.

Ne olacağını görmek için tablomuza yeni bir giriş ekleyelim. Aşağıdaki görselde INSERT sorgusu ve SELECT ifadesini çalıştırdıktan sonra elde ettiğimiz sonuçlar gösterilmektedir. Yeni girişin 'user_id' değerinin 20 olarak nasıl ayarlandığına dikkat edin. Yaptığımız tüm yeni girişlerin 'user_id' değerleri, son değer olan 20'ye göre oluşturulacaktır.

Başka bir giriş yaparsak “user_id”si 21 olacak ve sıra aynı mantıkla ilerleyecektir. PostgreSQL'de bir diziyi bu şekilde sıfırlarsınız. “Sıfırla” komutunun mevcut kayıtları etkilemediğini unutmayın. Yalnızca sırayı sıfırladıktan sonra yaptığınız girişler için yeni başlangıç ​​değerini tanımlar.

Çözüm

PostgreSQL'de, birincil anahtar sütununuzdaki tamsayı değerlerini otomatik olarak oluşturmanın bir yoluna sahip olmak işleri kolaylaştırır. Mevcut bir diziniz olduğunda ALTER SEQUENCE'ı kullanabilirsiniz.
Hangi sırayı sıfırlamak istediğinizi ve sıradaki son değer olarak hangi değeri ayarlayacağınızı belirtmek için RESTART İLE seçeneğiyle komut verin. Bu şekilde, yeni girişler, yeni son değere göre oluşturulan tamsayı değerine sahip olacaktır. PostgreSQL dizisinin sıfırlanmasının nasıl çalıştığını anlamak için sunulan örneğe bakın.