Kian Ghiassi
5 سال پیش توسط Kian Ghiassi مطرح شد
6 پاسخ

مشکل Auto Increment

سلام دوستان. داخل جداول دیتابیسم یک ستون به نام id وجود داره که به صورت Primary و Auto Increment هست و زمانی که یک رکورد جدید بهش اضافه میشه، id رو خودش تکمیل میکنه. تا اینجا که مشکلی نیست، ولی وقتی یک رکورد رو حذف میکنم و رکورد جدید اضافه میکنم، id اون رکورد جایگزین id رکورد قبلی نمیشه. یعنی فرض کنید من رکوردی رو با آی دی 7 حذف میکنم و وقتی رکورد جدیدی اضافه میکنم به جای اینکه آی *** 7 بشه، 8 میشه. اگر میشه بگید چجوری میشه این مشکل رو حل کرد.


ثبت پرسش جدید
mahdi khanzadi
تخصص : backend developer at Snapp mar...
@khanzadimahdi 5 سال پیش مطرح شد
1

دوست عزیز کاربرد auto increment هم همین هست. یک شمارنده وجود داره که به ازای هر رکورد مقدارش یکی بالاتر میره و ثبت میشه.

درون حالت auto increment ایدی ها هیچوقت تکراری نخواهند بود حتی اگه دیتایی رو حذف کنید ایدی جدیدی که به ازای افزودن دیتای جدید اظافه میشه مقدار جدیدی داره که با قبلیا یکسان نیست. اینکار دلیل داره و به خاطر حفظ صحیح دیتا هست.

هر ادمی کد ملی منحصر به فرد داره و با توجه به کد ملی شما هزاران دیتا برای شما ثبت میشه توی سازمان های خصوصی و دولتی! حالا اگه شما کد ملی خودتون رو بنا به هر دلیل تغییر بدید و کد ملی قبلی شما به نفر دیگری اختصاص داده بشه هر کاری که شما کردین به پای یه نفر دیگه نوشته میشه! کلا دلیل primary و auto increment در حفظ صحیح وابستگی اطلاعات هست.


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@kian.ghiassi

آیدی یه شناسه یکتا هست! بخواد تغییر کنه که...!
اما راه حل زیاد دارید شما برای نمایشش ، (اگر مشکل دارید )

به فرض اگر جایی در کد خواستید رکورد های جدول ذو نمایش بدید و به ترتیب نمایش بدید
همه رکورد هارو توی یه حلقه بزارید از 0 تا ....
اینطوری ترتیب نمایس برای نشون دادنش درست میشه
اما آیدی یکتاست!


حسین
تخصص : برنامه نویس وب با لاراول
@hossein13660630 5 سال پیش مطرح شد
0

سلام در سایت لیدا وب به این مسئله اشاره کرده بودن و اتفاقا یک را حل برای این کار داده بودن که می تونستی آیدی هارو پشست سر هم ترتیبشو حفظ کنی. یک خط کد نویسی باید تو مایگریشن جدول مورد نظرت انجام بدی. حالا کدش یادم نیست هرکی خواست مراجعه کنه به سایت لیدا وب.


hamed sarkhosh
تخصص : برنامه نویس
@ham.sarkhosh 5 سال پیش مطرح شد
0

@kian.ghiassi
سلام. دوست عزیز این چیزی که شما داری می ** از ویژگی های auto increment هستش و ما هم در تمام پروژه هامون با همین ویژگی کار می کنید و مشکلی هم برامون ایجاد نمیشه. نمی دونم علتش چیه که دوست دارید عدد ها پشت سر هم باشه. چون واقعا این مسئله اهمیتی نداره و شما اصلا با id جداول خودتون قرار نیست کار زیادی رو انجام بدید. راه حل وجود داره که اون اعداد رو پشت سر هم کنید اما به نظرم لزومی نداره که ازش استفاده کنید و یه کار اضافی خواهد بود.
موفق باشید


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

همه موارد رو دوستان اشاره کردند. در واقع شما اصلا نیاز ندارید این عدد رو که خودکار اضافه میشه دستکاری کنید


GHM
تخصص : دولوپر نیمه‌استک
@GHM 5 سال پیش مطرح شد
0

این عمل auto increment به یک مورد دیگه هم اشاره میکنه: میگه ممکنه اون id رو جای دیگه هم ذخیره کرده باشی پس من جایگزینی براش ندارم :)


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام