چجوری میشه برای یک جدول در دیتابیس تعیین کرد که حداکثر 50 رکورد ثبت بشه
سلام من میخوام یک جدول در دیتابیس رو طوری تنظیم کنم که اگه تعداد رکوردها به 50 تا رسید با اضافه شدن رکورد جدید اولین رکورد حذف بشه.چجوری میشه؟؟؟
نقل قول: چجوری میشه برای یک جدول در دیتابیس تعیین کرد که حداکثر 50 رکورد ثبت بشه
شما میتونید برای این کار از store procedure و trigger استفاده کنید.
یک store procedure میتونید برای گرفتن تعداد رکوردها و بعد اگر از 50تا بیشتر بود رکورد اول رو پاک میکنه. و trigger هم که با هر بار insert شدن فراخونی میشه و store procedure زو اجرا میکنه
یه چیزی شبیه لینک زیر
http://dba.stackexchange.com/questio...from-a-trigger
نقل قول: چجوری میشه برای یک جدول در دیتابیس تعیین کرد که حداکثر 50 رکورد ثبت بشه
خیلی سخته.هیچی ازش نمیفهمم.:متفکر:
نقل قول: چجوری میشه برای یک جدول در دیتابیس تعیین کرد که حداکثر 50 رکورد ثبت بشه
اگه بشه مقدار کمترین ID رو بدست بیارم و رکورد مربوط به اون ID رو حذف کنم خیلی خوب میشه ولی نمیدونم امکانش هست یا نه؟
نقل قول: چجوری میشه برای یک جدول در دیتابیس تعیین کرد که حداکثر 50 رکورد ثبت بشه
روشی که اقا مهرداد گفتن دیگه نیازی نداره شما سمت PHP کاری انجام بدید و در سمت دیتابیس به صورت اتومات کارها انجام میشه.
ولی خب برای به دست اوردن کمترین ایدی از کوئری زیر استفاده کنید
SELECT MIN(`id`) FROM `tableName`
نقل قول: چجوری میشه برای یک جدول در دیتابیس تعیین کرد که حداکثر 50 رکورد ثبت بشه
نقل قول:
نوشته شده توسط
Veteran
SELECT MIN(`id`) FROM `tableName`
اینو میدونستم ولی نمبدونم چجوری باید کمترین مقدارو حذف کنم.چجوری از ابن کد استفاده کنم؟
نقل قول: چجوری میشه برای یک جدول در دیتابیس تعیین کرد که حداکثر 50 رکورد ثبت بشه
mysql_query('DELETE FROM `tableName` ORDER BY `id` LIMIT 1');
نقل قول: چجوری میشه برای یک جدول در دیتابیس تعیین کرد که حداکثر 50 رکورد ثبت بشه
دوست عزیز شما ابتدا باید بری دنبال store procedure و یه سری دستوراتش رو یاد بگیری اگر به لینکی که داده بودم سری میزدید و همینطور کدهاشو نگاه میکردید مفهوم رو درک میکردید. چندان سخت هم نیست. procedure نوشتن کاملا شبیه همین زبان برنامه نویسی هست. یعنی متغییر و دستورات شرطی و چیزای دیگه داره. trigger هم چیزی هست که مثلا شما میگیرد قبل از insertو یا هر عمل دیگری فلان دستور اجرا بشه.
نقل قول: چجوری میشه برای یک جدول در دیتابیس تعیین کرد که حداکثر 50 رکورد ثبت بشه
نقل قول:
نوشته شده توسط
Veteran
mysql_query('DELETE FROM `tableName` ORDER BY `id` LIMIT 1');
این کد روی لوکال هاست با wamp جواب داد ولی برای هاست خودم جواب نمیده چرا ؟با mysqli هم امتحان کردم نشد:متفکر: