دوستان میخوام بعد از حذف یک row از دیتابیس تمام ID ها دوباره مرتب سازی بشن مثلا جدول ما به این شکل هست:
ID | Name | Email
1
2
3
4
5
حالا اگه ما row 3 رو حذف کنیم جدول ما به این شکل درمیاد:
ID | Name | Email
1
2
4
5
اما من میخوام این ID ها دوباره مرتب سازی بشن و به حالت قبل برگردند می دونم امکان نداره ولی باز شما اگه راهی میبینید بهم بگید ممنون 👍
.
.
.
.
.
@mhyeganeh @ali.bayat @mohsenbostan @hesammousavi @khosravi424 @MehdiAghighi @milad @TimeRunner2359 @hosseinshirinegad98 @khanzadimahdi @mobinghasemi1485
@arminamirinasab
سلام.
ببینید ID همون طور که از اسمش پیداست، شناسه هستش نه عددی برای مرتب شدن و مرتب کردن. کاری که میخواید انجام بدید مثل این میمونه که بگید هر شخصی که مرد، کد ملی های بقیه رو دوباره مرتب کنید.
شاید پاسخ شما همینجا باشد
اینکار نه تنها از لحاظ کلید خارجی بودن مشکل داره (دوستان اشاره کردن) بلکه از لحاظ پرفورمنس خیلی خیلی مشکل داره.
فرض کن 1000 تا رکورد داری بعدش رکورد شماره 1 رو حذف میکنی! اونوقت باید 999 تا رکورد بعدی اپدیت بشن! حالا اگه رکوردها بیشتر باشن خودت در نظر بگیر چه اتفاقی میتونه بیوفته.
بهترین حالتش اینه که یه جدول دیگه در نظر بگیری واسه رکوردهایی که حذف میشن و ایدیشون رو اونجا بزاری و بعدش از اخرین رکورد دونه دونه اپدیت کنی و ایدیشون رو به ایدی هایی که حذف شده تغییر بدی. اینکار هم بهتره با صف انجام بشه.
من تازه کار با PHP شروع کردم میخوام یک بخش آخرین مطالب بزارم بعد بیام ۴ تا از آخرین آیدی ها رو بردارم ولی این راه درستی نیست فکر می کنم راه بهتری هم وجود داشته باشه شما هم پیشنهادتون بگید
.
.
.
.
.
@hosseinshirinegad98 @mohsenbostan @ali.bayat
@arminamirinasab
ID نیاز نیست شما می تونید با تاریخ کار کنید. یعنی یک فیلد برای تاریخ ثبت برای مثال به اسم created_at ایجاد میکنید و زمان ثبت شدن اون مطلب رو اونجا قرار میدید. بعد بر اساس اون تاریخ میتونید 4 تای آخر رو ددریافت کنید.