كيفية إعادة تعيين تسلسل في PostgreSQL

Kyfyt A Adt T Yyn Tslsl Fy Postgresql



يعد استخدام تسلسل PostgreSQL طريقة فعالة للتعامل مع قيمة الزيادة التلقائية، خاصة بالنسبة للمفاتيح الأساسية. عندما لا يتم تحديد قيمة البداية، ستبدأ الزيادة التلقائية لـ INT عند 0. ومع ذلك، يمكنك تحديد قيمة البداية التي سيتم استخدامها للتسلسل في عمود الزيادة التلقائية الخاص بك.

علاوة على ذلك، إذا واجهت موقفًا يتطلب منك تغيير القيمة التالية في التسلسل، فيمكنك إعادة تعيين التسلسل بسرعة وتحديد القيمة التي ستبدأ بها للإدخال التالي في الجدول. تم تفصيل جميع التفاصيل التي يجب أن تعرفها فيما يتعلق بكيفية إعادة تعيين التسلسل في PostgreSQL في هذا المنشور. إلق نظرة!

مثال على كيفية إعادة تعيين التسلسل في PostgreSQL

باستخدام عمود INT، يمكنك إنشاء تسلسل زيادة تلقائية واستخدامه كمفتاح أساسي لجدولك. بهذه الطريقة، لن تحتاج إلى إدخال قيمه عند تشغيل استعلام INSERT حيث سيتم إنشاء القيم الصحيحة تلقائيًا. بعد إنشاء التسلسل، يتيح لك أمر ALTER SEQUENCE إعادة تشغيل التسلسل وتحديد قيمة بداية جديدة للإدخالات الجديدة.







في هذا المثال، سنعمل مع جدول 'user_details' التالي. ينصب تركيزنا على عمود 'user_id' وهو عبارة عن تسلسل زيادة تلقائية يبدأ من 100.





لسرد التسلسلات المختلفة في قاعدة البيانات، قم بتشغيل الأمر التالي:





\ds

في حالتنا، نستهدف تسلسل 'user_id'.



للحصول على مزيد من التفاصيل حول التسلسل، قم بتشغيل الاستعلام 'select' كما هو موضح في ما يلي:

حدد * من اسم التسلسل؛

يمكننا أن نرى أن القيمة الأخيرة في التسلسل الحالي هي 104. نقوم بإعادة تعيين هذه القيمة وتحديد قيمة جديدة ستكون للإدخالات الجديدة.

لإعادة تعيين تسلسل PostgreSQL، استخدم الأمر التالي:

تغيير التسلسل اسم_التسلسل إعادة التشغيل بالقيمة؛

في حالتنا، لنفترض أننا نريد إعادة تشغيل التسلسل وبدء الإدخالات الجديدة عند 20. بعد تشغيل الأمر التالي، نحصل على نتيجة، كما هو موضح في ما يلي، والتي تؤكد أنه تم تغيير التسلسل.

إذا أعدنا تشغيل الأمر السابق للحصول على تفاصيل التسلسل باستخدام عبارة SELECT، فيمكننا أن نرى أن 'القيمة_الأخيرة' الجديدة لهذه الحالة هي القيمة التي حددناها باستخدام أمر ALTER.

فلندرج إدخالًا جديدًا في جدولنا لنرى ما سيحدث. الصورة التالية توضح الاستعلام INSERT والنتائج التي نحصل عليها بعد تشغيل عبارة SELECT. لاحظ كيف تم تعيين 'user_id' للإدخال الجديد على 20. سيتم إنشاء 'user_id' لجميع الإدخالات الجديدة التي نقوم بها بناءً على القيمة الأخيرة وهي 20.

إذا قمنا بإدخال آخر، فسيكون 'user_id' الخاص به هو 21 وسيستمر التسلسل باستخدام نفس المنطق. هذه هي الطريقة التي تقوم بها بإعادة تعيين التسلسل في PostgreSQL. لاحظ أن أمر 'إعادة الضبط' لا يؤثر على السجلات الموجودة. إنه يحدد فقط قيمة البداية الجديدة للإدخالات التي تجريها بعد إعادة تعيين التسلسل.

خاتمة

باستخدام PostgreSQL، فإن وجود طريقة لإنشاء قيم الأعداد الصحيحة تلقائيًا في عمود المفتاح الأساسي الخاص بك يبسط الأمور. عندما يكون لديك تسلسل موجود، يمكنك استخدام ALTER SEQUENCE
الأمر باستخدام خيار إعادة التشغيل مع لتحديد التسلسل الذي تريد إعادة تعيينه والقيمة التي سيتم تعيينها كقيمة أخيرة في التسلسل. بهذه الطريقة، سيكون للإدخالات الجديدة قيمة عددية تم إنشاؤها بناءً على القيمة الأخيرة الجديدة. ارجع إلى المثال المقدم لفهم كيفية عمل إعادة تعيين تسلسل PostgreSQL.