PDA

نسخه کامل مشاهده نسخه کامل : مشکل identity با unique



M.Hashemi
29-09-2010, 00:12
با سلام
من یک جدول با دو فیلد ساختم.
فیلد اول با نام id و از identity و primary key در ان استفاده کردم.
فیلد دوم را با نام name و در ان از unique index استفاده کردم تا داده تکراری نداشته باشد.
حال وقتی که می خواهم داده تکراری در فیلد name بریزم error میده و داده را insert نمیکند(که منطقی هم است) اما با این که داده insert نمیشود اما مقدار فیلد id که identity است زیاد میشود.
به عنوان مثال :
اگر id مقدار 5 را داشته باشد حال اگر ما یک داده تکراری به ان بدیم (که insert هم نمی شود) و بعد یک داده غیر تکراری بدیم مقدار id برابر با 7 می شود که اشتباه است و باید مقدار ان 6 باشد.
چگونه می توانم جلوی این کار را بگیرم.
دوستان اگر کسی جواب این سوال را میداند لطف کند بنویسید.
با تشکر

hobab1987
29-09-2010, 10:01
سلام
تو اين تاپيك گفته شده:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

*Batman*
30-09-2010, 01:43
سلام.
قبل از Insert کردن،آخرین مقداری ID رو بدست بیارید.
بعد که با خطای مقدار تکراری روبرو شدید، مقدار ID رو RESEED کنید به آخرین مقداری که ازش گرفته بودید.
برای مثال :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبنابراین آخرین ID ما دوباره برمیگرده به 5 و شناسه رکورد بعدی(در صورت تکرار نبودن فیلد مورد نظر) 6 خواهد بود.

موفق باشید.