سلام خدمت اساتید عزیز بنده یه سوالی داشتم به یه موردی میخورم در پروژه ها که مشکل شده . ما میتونیم آی دی تیبل های mysql رو اتواينكريمنت كه به ترتيب افزایش پیدا کنه . حالا اگه یه ریکورد رو با استفاده از دستورات اس کیو ال دلیت کنیم . آی دی ریکورد جدید که اینسرت میشه یه واحد از آی دی ریکورد دیلیت شده بیشتره . میشه این رو یه جوری مدیریت کرد که ریکورد که حذف شد ریکورد اینسرت شده ی بعدی همون آی دی ریکورد دیلیت شده رو بگیره ؟ نمیدونم به این کار چی میگن آیا امکان پذیره یا نه . چون من آی دی ها رو اتوماتیک میکنم به خاطر این پدیده دیتابیس بهم میریزه و کل پروژه میپیچه بهم بعد از یه مدت که مشتری از ادمین پنل استفاده میکنه . آیا تکنیکی وجود داره ؟ اگه لطف کنید بگید ممنون میشم
در یک روش خیلی بد و غیرجالب میشه هر سری آیدی رکورد آخر رو چک کرد و بصورت دستی برای رکورد بعدی مقدار دهی کرد. ولی باز هم مشکل اینکه یک رکورد از اواسط داده ها حذف بشه حل نمیشه.
نکته مهم همون چیزی هست که دوستان بالاتر اشاره کردند. شما کلا آیدی رو باید در محاسبات خودتون نادیده بگیرید. چون بعنوان PK، یک جورایی مخصوص خود دیتابیس هست و دست کاری کردنش میتونه خیلی اشتباه بزرگی باشه. هر نیاز دیگه ای اگر دارید مثل sort کردن یا شمردن تعداد رکوردها یا باید یک فیلد جدید براش تعریف کنید یا از روش های اصولی تر دیگه ای استفاده کنید.
نتیجه اینکه شما اصلا نباید هیچ وقت بصورت مستقیم با آیدی در ارتباط باشید و به همین خاطر مرتب بودن و پشت سرهم بودنشون هم هیچ اهمیتی نخواهد داشت.
@m.shoresh77 سلام وقتتون بخیر.
میتونم بپرسم چرا می خواید آیدی ها تون پشت سر هم باشند ؟
استفاده از آیدی برای کارایی مثل سورت کردن و این حرفا شاید درست نباشه بهتره از تاریخ یا همچین چیزایی استفاده کنید.
اگر می خواید توی پنلی چیزی نشون بدید باز هم کار درستی نیست شما توی حلقتون یک عدد index مشخص کنید که از 1 شروع میشه و هر بار اونو بزارید.
البته اگر استفاده دیگه ای دارید بگید بگید که بهتر بتونیم کمک کنیم.
در یک روش خیلی بد و غیرجالب میشه هر سری آیدی رکورد آخر رو چک کرد و بصورت دستی برای رکورد بعدی مقدار دهی کرد. ولی باز هم مشکل اینکه یک رکورد از اواسط داده ها حذف بشه حل نمیشه.
نکته مهم همون چیزی هست که دوستان بالاتر اشاره کردند. شما کلا آیدی رو باید در محاسبات خودتون نادیده بگیرید. چون بعنوان PK، یک جورایی مخصوص خود دیتابیس هست و دست کاری کردنش میتونه خیلی اشتباه بزرگی باشه. هر نیاز دیگه ای اگر دارید مثل sort کردن یا شمردن تعداد رکوردها یا باید یک فیلد جدید براش تعریف کنید یا از روش های اصولی تر دیگه ای استفاده کنید.
نتیجه اینکه شما اصلا نباید هیچ وقت بصورت مستقیم با آیدی در ارتباط باشید و به همین خاطر مرتب بودن و پشت سرهم بودنشون هم هیچ اهمیتی نخواهد داشت.
دوستان واقعا ممنونم ازتون . نمیدونم من چیکار داشتم به آی دی . اصلا آی دی به من چه ! والا . آی دی رو از دستورات حذف کردم درست شد بدون هیچ دردسر
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟