راکت
Kian Ghiassi
Kian Ghiassi
توسط Kian Ghiassi مطرح شد
6 پاسخ

مشکل Auto Increment

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


ثبت پرسش جدید
mahdi khanzadi
mahdi khanzadi
تخصص :Software engineer
@khanzadimahdi7 سال پیشمطرح شد
1

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

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

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


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

سلام
@kian.ghiassi

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

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


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

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


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

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


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

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


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

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


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

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