PDA

View Full Version : سوال: خاصيت Auto Number يه فيلد در SQL SERVER



gilas1368
سه شنبه 01 شهریور 1390, 00:03 صبح
با سلام

زمانيكه خاصيت Auto Number يه فيلد رو فعال ميكني اين فيلد غير قابل ويرايش ميشه اما يه سؤال ساده،مثلا يه جدول داريم كه 3تا فيلد id,name,family داره كه خاصيت Auto Number فيلد id برابر True قرار داده شده و ركوردايي هم داخلش insert شده و همون طور كه مي دونيد فيلد id به صورت خودكار مقدار ميگيره و با اضافه شدن يه ركورد اين مقدار فيلد افزايش پيدا ميكنه اما چرا زمانيكه يه ركورد حذف ميشه اين مقادير آپديت نميشه يا ركوردي با شماره id حذف شده نمي توني به جدول اضافه كني؟

مثلا زمانيكه يه ركورد با id=1 رو حذف ميكني چرا SQL بصورت اتوماتيك مقدار id=2 رو برابر 1 نميكنه؟

Esmail Solhkhah
سه شنبه 01 شهریور 1390, 00:09 صبح
سلام دوست عزیز

خب خاصیت Auto Number همینه

اگه رکوردی رو حذف کنید رکورد بعدی از ID شماره حذف شده + SEED شروع میشه

gilas1368
سه شنبه 01 شهریور 1390, 00:16 صبح
مي دونم اما اين يه عيب براي SQL SERVER محسوب نميشه؟

يا هيچ راهي براي دور زدنش وجود نداره؟

Esmail Solhkhah
سه شنبه 01 شهریور 1390, 00:28 صبح
مي دونم اما اين يه عيب براي SQL SERVER محسوب نميشه؟

عیب محسوب نمیشه چون اصلا برا این کار ایجاد شده، یه حسن کوچیکش اینه که متوجه بشیم کجا رکوردی حذف شده، حسن دومش اینه که یه فیلد یونیکه و ...


يا هيچ راهي براي دور زدنش وجود نداره؟

نه نمیتونید دورش بزنید

فقط میتونید ریستش کنید

البته دقت کنید که از این فیلد جایی تو تیبلهای دیگه استفاده نکرده باشید چون در اینصورت ارتباطات ها بهم میریزه