שמירה על ID עוקב

OrMargol

New member
שמירה על ID עוקב

יש לי טבלה עם שדה ID מסוג AutoNumber.
אם אני מוסיף 5 רשומות הן מקבלות ID 1-5.
אם אח"כ אני מוחק את רשומה 5 ומוסיף רשומה חדשה היא מקבלת ID 6 במקום 5.
בנוסף, אם במקום למחוק את 5 הייתי מוחק את 3, הרשומות שוב לא היו רציפות, אלא 1,2,4,5.
מה לעשות כדי לשמור ל רצף עוקב בשדה?
 

גרי רשף

New member
זה טיבו וטבעו של עמודת מספור אוטומטי

אם אתה רוצה שהמספרים יהיו רציפים- עדיף שתיצור אותם בעצמך באמצעות קוד.
 

myaron

New member
בנוסף למה שגרי כתב

אתה רוצה שבמקרה של מחיקה מהאמצע כל העמודות שאחריה יקבלו זיהוי אחר? זה נשמע לא סביר בכל DB. בכל מקרה, אם תתעקש על זה אז תהיה חייב לממש את זה בעצמך.
 

0 אור 0

New member
האמת היא שכאשר עושים מימוש עצמי של המיספור

אז בדרך כלל, כשמוחקים את הרשומה האחרונה (או כמה רשומות אחרונות) , אין קפיצה של מספרים (לפחות אצלי - הנוסחא למיספור היא DMAX+1), אבל במיספור אוטומטי הוא זוכר את המספר האחרון שהשתמשו בו, אפילו אם אין מספר גבוהים ממנו.
 

גרי רשף

New member
זה מה שקורה באקסס, SQL Server ואוראקל

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