كيفية إعداد المفتاح الأساسي للزيادة التلقائية لـ PostgreSQL؟

How Setup Postgresql Auto Increment Primary Key



قد تكون هناك مناسبات تقوم فيها ببناء الجداول والحفاظ عليها في PostgreSQL عندما تريد قيمًا معينة لعمود يتم إنشاؤه عند الطلب. سيكون هذا صحيحًا بشكل خاص بالنسبة لأعمدة المعرفات التي تعمل كمفتاح أساسي للجدول. لحسن الحظ ، يسمح النوع الزائف SERIAL بجعل سلسلة الأعداد الصحيحة المتزايدة تلقائيًا مريحة. السلسلة هي نوع من كائن قاعدة البيانات في PostgreSQL ينتج سلسلة من الفهارس أو الأعداد الصحيحة. ينتج تسلسل PostgreSQL سلسلة من الأعداد الصحيحة المميزة ، مما يجعلها مناسبة لاستخدامها كمفتاح أساسي عند إنشاء جدول جديد. سنوضح لك قوائم الزيادة التلقائية في PostgreSQL وسنستخدم النوع الزائف SERIAL خلال هذا الدليل.

بناء الجملة:

الصيغة العامة لإنشاء المفتاح الأساسي للزيادة التلقائية هي كما يلي:







>>إنشاء جدول الجدول( هوية شخصيةمسلسل)؛

دعونا الآن نلقي نظرة على إعلان CREATE TABLE بمزيد من التفصيل:



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

للحصول على مفهوم الزيادة التلقائية ، يرجى التأكد من تثبيت PostgreSQL وتهيئته على نظامك قبل متابعة الرسوم التوضيحية في هذا الدليل. افتح غلاف سطر أوامر PostgreSQL من سطح المكتب. أضف اسم الخادم الذي تريد العمل عليه ، وإلا اتركه افتراضيًا. اكتب اسم قاعدة البيانات الموجود في الخادم الذي تريد العمل عليه. إذا كنت لا تريد تغييره ، فاتركه كإعداد افتراضي. سنستخدم قاعدة بيانات الاختبار ، ولهذا السبب قمنا بإضافتها. يمكنك أيضًا العمل على المنفذ الافتراضي 5432 ، ولكن يمكنك أيضًا تغييره. في النهاية ، يجب عليك تقديم اسم المستخدم لقاعدة البيانات التي تختارها. اتركه على الوضع الافتراضي إذا كنت لا تريد تغييره. اكتب كلمة مرورك لاسم المستخدم المحدد واضغط على Enter من لوحة المفاتيح لبدء استخدام shell command.







استخدام الكلمات الرئيسية التسلسلية كنوع بيانات:

عند إنشاء جدول ، لا نضيف عادةً الكلمة الرئيسية SERIAL في حقل العمود الأساسي. هذا يعني أنه يتعين علينا إضافة القيم إلى عمود المفتاح الأساسي أثناء استخدام عبارة INSERT. ولكن عندما نستخدم الكلمة الرئيسية SERIAL في استعلامنا أثناء إنشاء جدول ، يجب ألا نحتاج إلى إضافة قيم العمود الأساسية أثناء إدراج القيم. دعونا نلقي نظرة على ذلك.

المثال 01:

إنشاء اختبار الجدول مع اثنين من معرف والاسم. تم تعريف معرّف العمود على أنه عمود المفتاح الأساسي لأن نوع البيانات الخاص به هو SERIAL. من ناحية أخرى ، يتم تعريف اسم العمود على أنه نوع بيانات TEXT NOT NULL. جرب الأمر أدناه لإنشاء جدول وسيتم إنشاء الجدول بكفاءة كما هو موضح في الصورة أدناه.



>>إنشاء اختبار الجدول( هوية شخصيةSERIAL PRIMARY KEY ، اسم TEXT NOT NULL)؛

دعنا ندرج بعض القيم في اسم العمود الخاص بالجدول الذي تم إنشاؤه حديثًا TEST. لن نضيف أي قيمة إلى معرف العمود. يمكنك أن ترى أنه تم إدخال القيم بنجاح باستخدام الأمر INSERT كما هو مذكور أدناه.

>>أدخل في الاختبار(اسم)القيم('الأقصى')و('ريمشا')و('خان')؛

حان الوقت للتحقق من سجلات جدول 'اختبار'. جرب تعليمات SELECT أدناه في غلاف الأوامر.

>>تحديد*من الاختبار

من الإخراج أدناه ، يمكنك ملاحظة أن معرف العمود قد حصل تلقائيًا على بعض القيم فيه على الرغم من أننا لم نقم بإضافة أي قيم من الأمر INSERT بسبب نوع البيانات SERIAL الذي حددناه لمعرف العمود. هذه هي الطريقة التي يعمل بها نوع البيانات SERIAL من تلقاء نفسها.

المثال 02:

هناك طريقة أخرى للتحقق من قيمة عمود نوع البيانات التسلسلي وهي استخدام الكلمة الأساسية RETURNING في الأمر INSERT. يُنشئ الإعلان أدناه سطرًا جديدًا في جدول الاختبار ويعطي قيمة حقل المعرف:

>>أدخل في الاختبار(اسم)القيم(حسام)عودةهوية شخصية؛

من خلال التحقق من سجلات الجدول Test باستخدام استعلام SELECT ، حصلنا على الناتج أدناه كما هو معروض في الصورة. تم إضافة السجل الخامس بكفاءة إلى الجدول.

>>تحديد*من الاختبار

المثال 03:

الإصدار البديل من استعلام الإدراج أعلاه يستخدم الكلمة الأساسية DEFAULT. سنستخدم اسم معرف العمود في الأمر INSERT ، وفي قسم القيم ، سنمنحه الكلمة الأساسية الافتراضية كقيمة لها. سيعمل الاستعلام أدناه بنفس الطريقة عند التنفيذ.

>>أدخل في الاختبار(هوية شخصية، اسم)القيم(افتراضي ، 'سباق')؛

دعنا نتحقق من الجدول مرة أخرى باستخدام استعلام التحديد كما يلي:

>>تحديد*من الاختبار

يمكنك أن ترى من الإخراج أدناه ، تمت إضافة القيمة الجديدة بينما تم زيادة معرف العمود افتراضيًا.

المثال 04:

يمكن العثور على رقم التسلسل لحقل العمود SERIAL في جدول في PostgreSQL. يتم استخدام الطريقة pg_get_serial_sequence () لإنجاز ذلك. يتعين علينا استخدام وظيفة curval () جنبًا إلى جنب مع طريقة pg_get_serial_sequence (). في هذا الاستعلام ، سنقدم اسم الجدول واسم العمود SERIAL الخاص به في معلمات الوظيفة pg_get_serial_sequence (). كما ترى ، قمنا بتحديد اختبار الجدول ومعرف العمود. تُستخدم هذه الطريقة في مثال الاستعلام أدناه:

>>حدد الاتجاه(pg_get_serial_sequence('اختبار'، 'هوية شخصية'))؛

من الجدير بالذكر أن دالة curval () الخاصة بنا تساعدنا في استخراج أحدث قيمة للتسلسل ، وهي 5. الصورة أدناه هي توضيح لما يمكن أن يبدو عليه الأداء.

استنتاج:

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