PDA

View Full Version : تغییر مقدار فیلد autonumber در sql



milad.biroonvand
جمعه 20 خرداد 1390, 23:30 عصر
جداولی که در SQL میسازید بعضا دارای ستونی با شمارنده خودکار یا Identity Colomn است. فرض کنید از جدولی که دارای 100 رکورد است، رکورد سوم حذف شود در این حالت شمارنده از فیلد 101 ادامه می دهد. برای حل این مشکل از دستور زیر کمک بگیرید.

در MsSQL کافی است در دستور زیر بجای value شماره آخرین رکورد پُر را وارد کنید یعنی اگر می خواهید فیلد شماره 3 را وارد کنید بجای value عدد 2 را وارد کنید. سپس بعد از وارد کردن رکودها دوباره identity را به رکود قبلی خود (مثلا همان رکود 100 مثال فوق) برگردانید.
DBCC CHECKIDENT (MyTableName, RESEED, value)

محمد سلیم آبادی
چهارشنبه 25 خرداد 1390, 04:01 صبح
اگه 100 سطر ایجاد کرده باشیم که به ترتیب مقادیر 1تا 100 در ستون مربوط به خصیصه ی identity در آن جا گرفته باشد. و بعد از اتفاق هایی که می افتد سطر های 21 تا 25 و 50 و 54 و 90 تا 96 حذف میشوند.
و حالا بخواهیم دوباره از مقادیری که از دست رفته اند و فضای هرز بین 1 تا 100 وجود آورده اند استفاده کنیم. باز هم شما از روشی که توضیح دادین استفاده می کنید یا ایده ی بهتری برای انجام اینکار سراغ دارید؟

ب- تات
شنبه 28 خرداد 1390, 11:19 صبح
اگر فیلد مورد نظر کلید نباشد و جدول دیگری از این فیلد به عنوان relation استفاده نمیکند راه حل آسان این است که یک مرتبه آن فید را حذف و مجدد با همان خصائص ایجاد کنید و Identity را هم ست کنید . دیگه شماره جا افتاده نخواهید داشت. البته عرض کردم حتی اگر جای آن فیلد توی دیتابیس شما به هر دلیل مطرح هست این کار پیشنهاد نمیشه.