כיצד להתקין את המפתח הראשי להוספת PostgreSQL אוטומטית?

How Setup Postgresql Auto Increment Primary Key



ייתכנו מקרים שבהם אתה בונה ומתחזק טבלאות ב- PostgreSQL כשאתה רוצה ערכים מסוימים עבור טור שנוצר על פי בקשה. הדבר נכון במיוחד לגבי עמודות מזהה הפועלות כמפתח העיקרי של הטבלה. למרבה המזל, סוג הפסאודו SERIAL מאפשר להפוך את סדרת מספרים השלמה אוטומטית לנוחה. סדרה היא סוג של אובייקט מסד נתונים ב- PostgreSQL המייצר סדרת אינדקסים או מספרים שלמים. רצף PostgreSQL מייצר מחרוזת של מספרים שלמים נפרדים, מה שהופך אותה מתאימה לשמש כמפתח ראשי בעת יצירת טבלה חדשה. נדגים בפניכם אילו תפריטים להגדלה אוטומטית ב- PostgreSQL ונשתמש בסוג הפסאודו SERIAL לאורך מדריך זה.

תחביר:

התחביר הכללי ליצירת המפתח הראשי בהגדלה אוטומטית הוא כדלקמן:







>>צור טבלה שם טבלה( תְעוּדַת זֶהוּתסידורי);

הבה נציץ בהצהרת CREATE TABLE בפירוט רב יותר:



  • PostgreSQL מייצר תחילה ישות סדרתית. הוא מייצר את הערך הבא בסדרה ומגדיר אותו כערך ההפניה המוגדר כברירת מחדל של השדה.
  • PostgreSQL מחיל את ההגבלה המשתמעת NOT NULL על שדה מזהה שכן סדרה מייצרת ערכים מספריים.
  • שדה המזהה יוקצה כמחזיק הסדרה. אם השמט של מזהה או הטבלה עצמה יושמט, הרצף יימחק.

כדי לקבל את מושג ההגדלה האוטומטית, ודא ש- PostgreSQL מותקן ומוגדר במערכת שלך לפני שתמשיך באיורים במדריך זה. פתח את מעטפת שורת הפקודה PostgreSQL משולחן העבודה. הוסף את שם השרת שעליו ברצונך לעבוד, אחרת השאר אותו כברירת מחדל. כתוב את שם מסד הנתונים המצוי בשרת שלך עליו ברצונך לעבוד. אם אינך רוצה לשנות אותו, השאר אותו כברירת מחדל. אנו נשתמש במסד הנתונים של הבדיקות, לכן הוספנו אותו. תוכל גם לעבוד על יציאת ברירת המחדל 5432, אך תוכל גם לשנות אותה. בסופו של דבר, עליך לספק את שם המשתמש של מסד הנתונים שאתה בוחר. השאר את זה כברירת מחדל אם אינך רוצה לשנות זאת. הקלד את הסיסמה עבור שם המשתמש שנבחר והקש Enter מהמקלדת כדי להתחיל להשתמש במעטפת הפקודה.







שימוש במילת מפתח SERIAL כסוג נתונים:

כאשר אנו יוצרים טבלה, בדרך כלל איננו מוסיפים את מילת המפתח SERIAL בשדה העמודה הראשית. המשמעות היא שעלינו להוסיף את הערכים לעמודת המפתח הראשי תוך שימוש במשפט INSERT. אך כאשר אנו משתמשים במילת המפתח SERIAL בשאילתה שלנו בעת יצירת טבלה, לא צריך להוסיף ערכי עמודות ראשיים בעת הכנסת הערכים. בואו נעיף מבט על זה.

דוגמה 01:

צור מבחן טבלה עם מזהה ושני עמודות. מזהה העמודה הוגדר כעמודת המפתח הראשי מכיוון שסוג הנתונים שלו הוא SERIAL. מצד שני, שם העמודה מוגדר כסוג הנתונים TEXT NOT NULL. נסה את הפקודה למטה כדי ליצור טבלה והטבלה תיווצר ביעילות כפי שניתן לראות בתמונה למטה.



>>מבחן CREATE TABLE( תְעוּדַת זֶהוּתמפתח ראשוני סדרתי, שם הטקסט אינו אפס);

הבה נכניס כמה ערכים לשם העמודה של TEST הטבלה החדש שנוצר. לא נוסיף ערך למזהה העמודה. אתה יכול לראות שהערכים הוכנסו בהצלחה באמצעות הפקודה INSERT כאמור להלן.

>>הכנס למבחן(שֵׁם)ערכים('אקצה'),('רימשה'),('חַאן');

הגיע הזמן לבדוק את רשומות הטבלה 'מבחן'. נסה את הוראת ה- SELECT להלן במעטפת הפקודה.

>>בחר*מתוך מבחן;

מהפלט שלהלן, אתה יכול לשים לב שמזהה העמודה מכיל בתוכו כמה ערכים באופן אוטומטי למרות שלא הוספנו ערכים מהפקודה INSERT בגלל סוג הנתונים SERIAL שציינו עבור מזהה העמודה. כך עובד סוג הנתונים SERIAL בפני עצמו.

דוגמה 02:

דרך נוספת לבדוק את ערך העמודה מסוג נתונים נתונים היא באמצעות מילת המפתח RETURNING בפקודה INSERT. ההצהרה שלהלן יוצרת שורה חדשה בטבלת הבדיקה ומניבה את הערך עבור שדה המזהה:

>>הכנס למבחן(שֵׁם)ערכים('חסאם')חוזרתְעוּדַת זֶהוּת;

על ידי בדיקת רשומות טבלת הבדיקה באמצעות שאילתת SELECT, קיבלנו את הפלט שלהלן כפי שמוצג בתמונה. השיא החמישי נוסף ביעילות לטבלה.

>>בחר*מתוך מבחן;

דוגמה 03:

הגרסה החלופית של שאילתת ההוספה לעיל משתמשת במילת המפתח DEFAULT. נשתמש בשם מזהה העמודה בפקודה INSERT, ובקטע VALUES, ניתן לו את מילת המפתח DEFAULT כערכה. השאילתה שלהלן תעבוד אותו הדבר בעת הביצוע.

>>הכנס למבחן(תְעוּדַת זֶהוּת, שם)ערכים(ברירת מחדל, 'גזע');

בואו לבדוק את הטבלה שוב באמצעות שאילתת SELECT כדלקמן:

>>בחר*מתוך מבחן;

אתה יכול לראות מהפלט למטה, הערך החדש נוסף בעוד שמזהה העמודה הוגדל כברירת מחדל.

דוגמה 04:

ניתן למצוא את מספר הרצף של שדה העמודה SERIAL בטבלה ב- PostgreSQL. השיטה pg_get_serial_sequence () משמשת לשם כך. עלינו להשתמש בפונקציה currval () יחד עם שיטת pg_get_serial_sequence (). בשאילתה זו, אנו נספק את שם הטבלה ושם העמודה SERIAL שלה בפרמטרים של הפונקציה pg_get_serial_sequence (). כפי שאתה יכול לראות, צייננו מבחן טבלה ומזהה עמודה. שיטה זו משמשת בדוגמת השאילתה שלהלן:

>>בחר סבירות(pg_get_serial_sequence('מבחן', 'תְעוּדַת זֶהוּת'));

ראוי לציין כי פונקציית currval () שלנו עוזרת לנו לחלץ את הערך העדכני ביותר של הרצף, שהוא 5. התמונה למטה היא המחשה כיצד יכולה להיראות הביצוע.

סיכום:

במדריך מדריך זה, הדגמנו כיצד להשתמש בפסאודו מסוג SERIAL להגדלה אוטומטית ב- PostgreSQL. באמצעות סדרה ב- PostgreSQL, פשוט לבנות קבוצת מספרים בהגדלה אוטומטית. אני מקווה שתוכל ליישם את שדה SERIAL על תיאורי הטבלה באמצעות האיורים שלנו כהפניה.