اجرای چند کوئری به صورت همزمان : از این روش بیشتر برای جاهایی استفاده میشه که حتما باید دو کوئری انجام بگیره و اگر یکیش به هر دلیلی انجام نشه بقیه هم نباید انجام بشه ! ( مثلا بانک ها برای انتقال پول از یک حساب به یک حساب دیگه اول باید 1-مقدار رو مثلا از حساب شما کم کنند 2- پول رو به حساب دوم اضافه کنند خب در این حالت که دو کوئری داریم باید حتما دوتاش اجرا بشه ! )
مثال : ( این مثال کورش هست چندوقت پیش توی یه تاپیکی زده بود ) :
نکته : نوع جدولتون باید innoDB باشه.
PHP:
if(mysql_query('BEGIN;')){
$status=1;
if(!mysql_query('query1'))
$status=0;
if(!mysql_query('query2'))
$status=0;
if(!mysql_query('query3'))
$status=0;
if(!mysql_query('query4'))
$status=0;
if($status)
mysql_query('commit;');
}
البته روشهای دیگه هم هست که تقریبا مشابه همین هست.
اما روش کلید خارجی !
اون روش به این شکل هست که ما در ارتباط های یک به یک یا یک به چند یا چند به چند میایم و جدولهامون رو به یکدیگه مربوط میکنیم !
به عنوان مثال ما یک جدول داریم که اخبار رو در اون ذخیره میکنیم ! خب حالا ما اطلاعات کاربری که این اخبار رو ذخیره کرده نیاز داریم خب ما طبیعتا همه اطلاعات کاربر رو در جدول خبر ذخیره
نمیکنیم بلکه فقط id اون کاربر رو ذخیره میکنیم و اطلاعات مورد نیاز رو از جدول یوزر ها میگیریم !