PDA

View Full Version : ریست کردن فیلد کلید (IDENTITY) در sqlserver



arash_flag
چهارشنبه 21 آبان 1393, 09:47 صبح
salam
زمانی که شما یک فیلد رو اتوماتیک میکنید بعد از اینکه بعضی از آنه پاک میشه برنامه بی نظم میشه -> حالا چکار کنم بعد از این که بعضی از اونها پاک شد جدول دوباره رفرش بشه و کد هایی که داریم به جای اونها بگردن .
125557

علي فتحي
چهارشنبه 21 آبان 1393, 10:19 صبح
دقيقا منم همين مشكل و دارم به نتيجه نرسدم ممنون ميشم جواب دهين

hamid_hr
چهارشنبه 21 آبان 1393, 10:46 صبح
ببینید اون کار درست نیست
شما کدها رو که نباید تغییر بدین
برا نمایش بیاید از دستور Row_Number استفاده کنید تا بهتون یه شماره سطر منظم بده

aslan
چهارشنبه 21 آبان 1393, 10:52 صبح
http://stackoverflow.com/questions/21824478/reset-identity-seed-after-deleting-records-in-sql-server

RIG000
چهارشنبه 21 آبان 1393, 21:47 عصر
اگر این فیلد ای دی شما فیلد کلیدی برنامه باشه و یعنی ای دی کالا یا یوزر و یا ... باشه نباید تغییر کنه. چون تو یه جدول دیگه اومده و اینجوری تو اون جدول اختلال ایجاد میشه!!

danialafshari
پنج شنبه 22 آبان 1393, 14:18 عصر
با سلام
اگر در بخش Sql مطرح می کردید سریع تر به جواب میرسیدید
شما با TRUNCATE می تونید یک جدول رو به کلی حذف کنید که Identity هم ریست میشه
TRUNCATE TABLE table_name
موفق باشید

RIG000
پنج شنبه 22 آبان 1393, 14:42 عصر
با سلام
اگر در بخش Sql مطرح می کردید سریع تر به جواب میرسیدید
شما با TRUNCATE می تونید یک جدول رو به کلی حذف کنید که Identity هم ریست میشه
TRUNCATE TABLE table_name
موفق باشید
اگه منظورشون این بود با create drop تو گزینه های خود تیبل هم میشه.

rahimkolahsaz
چهارشنبه 09 تیر 1395, 15:23 عصر
با دستور زیر میتونید فیلد ID رو ریست کنید
(0,RESEED,'اسم جدول') DBCC CHECKIDENT
به جای 0 میتوانید از عدد دیگری استفاده کنید این عدد نشان دهنده اولین عدد Identity خواهد بود

mrprestige
پنج شنبه 10 تیر 1395, 20:16 عصر
با عرض سلام و ادب خدمت دوستان و اساتید محترم ، دوستان بنظرم منظور دوستمون arash_flag (http://barnamenevis.org/member.php?318766-arash_flag) این بود اگه مثلا از 1 تا 5 رکورد داریم وقتی رکورد 2 رو پا میکنیم دیگه رکورد هارو 1 و 3 و 4 و 5 به این ترتیب نشون نده به طور خودکار مرتب بشن یعنی 1 ، 2 ، 3 ، 4 این دستوراتی شما عزیزان فرمودید خاصیت Auto increment رو ریست میکنه یعنی اگه این بنده خدا بخواد یه رکورد دیگه اضافه کنه دوباره از 1 شروع میشه و کلا همه چی بهم میخوره . و اینکه لازمه به این دوستمون هم بگم شما داخل SQL سرور نمیتونی یه همچین کاری بکنید بنظرم میتونید در داخل #C روی Form یه دیتاگرید بزارید یه ستون به اون اضافه کنید به نام ردیف ولی اون رو Bind نکنید به دیتابیستون و از طریق کدنویسی تو خاصیت Cell_formating اون تعداد کل رکورد های دیتابیستون رو بهش بدید و از این طریق این امر رو محقق کنید .اگه خواستی بیشتر براتون از جزئیاتش میگم

پیروز و موفق باشید
از کدنویسی لذت ببرید .