• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
بیرون کشیذن اخرین ای دی درج شده در چند لحظه قبل
#1
دو تا جدول دارم که ای دی جدول اولی نیز در جدول دومی کلید خارجی است و اینزرت در جدول دومی دقیقا باید بعد از درج در جدول اولی صورت بگیرد یعنی پس از درج در جدول اولی باید ای دی درج شده جدول اولی که اتو اینکریمن می باشد را در جدول دومی اینزرت کند ؟

می دونم سوالم خیلی گیج کننده است ولی ......
کسی میتونه کمک کنه؟
  پاسخ
تشکر شده توسط :
#2
بعد از اجرای کوئری اول اینو بزارید:
کد پی‌اچ‌پی:
$Lastid mysql_insert_id(); 
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط :
#3
خودم يه كدي داشتم ولي مشكل داشت
حلش كردم
گذاشتم شايد به درد كسي بخوره
کد پی‌اچ‌پی:
<?php  


  $SQL 
"SELECT MAX(peyvast) FROM file";
  if (
$rQmysql_query($SQL) or die(mysql_error()))
       while(
$row2Q mysql_fetch_array ($rQ)) 
       {
           
$max_id=$row2Q[0];}


                   echo
"$max_id"?>
اين كد دقيقا آخرين ركرود را باز مي گردونه
  پاسخ
تشکر شده توسط :
#4
چیزی که 99% درصد افراد انجام نمیدن استفاده از قفله.

موقعی که شما دو یا چند کوئری دارید که نباید بین اونها کوئری دیگری اجرا بشه باید از قفل استفاده کنید. قبل از کوئری اول قفل میگیرید و بعد از کوئری آخر قفل رو آزاد میکنید. البته پیاده سازی قفل به جزییات کوئری ها و برنامهء شما بستگی داره. مثلا ممکنه نیاز باشه بیش از یک جدول رو قفل کنید. و ممکنه بتونید بجای قفل در سطح جدول از قفل در سطح رکورد استفاده کنید.

اگر قفل نکنید همیشه امکان داره یک کوئری ناشی از یک درخواست دیگه در بین کوئری های شما اجرا بشه.

البته بقول وحید از ترنزکشن هم میشه استفاده کرد.
  پاسخ
تشکر شده توسط : ali786
#5
میشه یه مثال از این قفل بزارید، منم اینو بلد نیستم...
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط :
#6
(۱۳۹۱ اردیبهشت ۲۶, ۱۰:۴۸ ب.ظ)hamid_80386 نوشته: میشه یه مثال از این قفل بزارید، منم اینو بلد نیستم...
> توضیحات بیشتر و مثال <
  پاسخ
تشکر شده توسط : ali786
#7
(۱۳۹۱ اردیبهشت ۲۶, ۱۰:۳۷ ب.ظ)hamid_80386 نوشته: بعد از اجرای کوئری اول اینو بزارید:
کد پی‌اچ‌پی:
$Lastid mysql_insert_id(); 

این چی کار می کنه؟
  پاسخ
تشکر شده توسط :
#8
(۱۳۹۱ اردیبهشت ۲۷, ۰۱:۲۳ ب.ظ)takphp نوشته: این چی کار می کنه؟

کاری که میخوای . اخرین ای دی رو میده
  پاسخ
تشکر شده توسط : hamid_80386
#9
:شما نباید از max برای گرفتن آخرین آی دی استفاده کنید. که دیگه بخوایید وارد مباحث قفل و ... بشید. از همون mysql_insert_id استفاده کنید
  پاسخ
تشکر شده توسط : hamid_80386 Y.P.Y ali786
#10
این قفل شدن رو ما نفهمیدیم چه جوری هستا؟

البته محکم کاری میلی ثانیه ای هست، ولی بدونیم خوبه Big Grin
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان