دوستان میخوام بعد از حذف یک 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 همون طور که از اسمش پیداست، شناسه هستش نه عددی برای مرتب شدن و مرتب کردن. کاری که میخواید انجام بدید مثل این میمونه که بگید هر شخصی که مرد، کد ملی های بقیه رو دوباره مرتب کنید.
فیلد ID معمولا auto incremental هست و خودش تکتک میره بالا
در برنامه تون بهتره به این فیلد به عنوان یک Identifier نگاه کنید که مشخص میکنه هر رکورد کجا قرار گرفته
و اتکایی روی این شماره نکنید.
دوستمون هم اشاره کرد.. کلید های خارجی اگر وجود داشته باشه با این قضیه تداخل میکنه
اینکار نه تنها از لحاظ کلید خارجی بودن مشکل داره (دوستان اشاره کردن) بلکه از لحاظ پرفورمنس خیلی خیلی مشکل داره.
فرض کن 1000 تا رکورد داری بعدش رکورد شماره 1 رو حذف میکنی! اونوقت باید 999 تا رکورد بعدی اپدیت بشن! حالا اگه رکوردها بیشتر باشن خودت در نظر بگیر چه اتفاقی میتونه بیوفته.
بهترین حالتش اینه که یه جدول دیگه در نظر بگیری واسه رکوردهایی که حذف میشن و ایدیشون رو اونجا بزاری و بعدش از اخرین رکورد دونه دونه اپدیت کنی و ایدیشون رو به ایدی هایی که حذف شده تغییر بدی. اینکار هم بهتره با صف انجام بشه.
من تازه کار با PHP شروع کردم میخوام یک بخش آخرین مطالب بزارم بعد بیام ۴ تا از آخرین آیدی ها رو بردارم ولی این راه درستی نیست فکر می کنم راه بهتری هم وجود داشته باشه شما هم پیشنهادتون بگید
.
.
.
.
.
@hosseinshirinegad98 @mohsenbostan @ali.bayat
@arminamirinasab
ID نیاز نیست شما می تونید با تاریخ کار کنید. یعنی یک فیلد برای تاریخ ثبت برای مثال به اسم created_at ایجاد میکنید و زمان ثبت شدن اون مطلب رو اونجا قرار میدید. بعد بر اساس اون تاریخ میتونید 4 تای آخر رو ددریافت کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟