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