نمایش نتایج 1 تا 4 از 4

نام تاپیک: insert در دوجدول مرتبط بهم

  1. #1

    insert در دوجدول مرتبط بهم

    با سلام
    از یک فرم در php سه تا داده دریافت میکنم که اینارو باید وارد جدول کنم به این صورت که

    2تاش باید در یک جدول باشن و یکی دیگش در جدول دیگر که این دوجدول باهم رابطه دارن (جدول 1 و 2) .id در جدول 1 باید مثل t_id در جدول 2 باشه

    چجوری insert بنویسم که مطمئن بشم هر دو رکورد همزمان و باهم و مرتبط بهم ایجاد میشن؟

    میشه توی 2تا کوئری جداگانه نوشتش اما خب اینجوری شاید یه رکورد به جدول 1 اضاف بشه مابین اجرای این 2 کوئری

  2. #2

    نقل قول: insert در دوجدول مرتبط بهم

    گرفتن last insert id میتونه کمکتون کنه. این تابع رو بعد درج در جدول اول میتونید توسط php یا خود mysql بدست بیارید. که البته دریافت اون توسط php بهتر و جواب درستی خواهد داد چون بصورت سریال بعد از درج همین رکورد کوئری زده میشه و آخرین id ثبت شده رو بهتون میدهو مخصوصا توسط pdo من تست کردم و جواب داده
    last insert id در mysql
    last insert id در php

    دیگه اگه خیلی حساس باشه باید transaction بزنی براش

  3. #3

    نقل قول: insert در دوجدول مرتبط بهم

    نقل قول نوشته شده توسط مهرداد۶۶ مشاهده تاپیک
    گرفتن last insert id میتونه کمکتون کنه. این تابع رو بعد درج در جدول اول میتونید توسط php یا خود mysql بدست بیارید. که البته دریافت اون توسط php بهتر و جواب درستی خواهد داد چون بصورت سریال بعد از درج همین رکورد کوئری زده میشه و آخرین id ثبت شده رو بهتون میدهو مخصوصا توسط pdo من تست کردم و جواب داده
    last insert id در mysql
    last insert id در php

    دیگه اگه خیلی حساس باشه باید transaction بزنی براش
    ممنون از راهنماییتون
    با یک کوئری میشه راه حل شماره یک یعنی اینکه بعد از درج در جدول شماره 1, id خونده بشه و رکوردی در جدول شماره 2 اضاف بشه اما خب ممکنه بین همین selectی ک انجام میشه یک رکورد درج بشه

    transaction هم اره خوبه

    ولی اینقد دیگه اسکریپتی که دارم مینویسم پربازدید نخواهد بود که نیاز باشه

    بیشتر هدفم از ایجاد این تاپیک این بود ک ببینم راه حل استاندارد براش وجود داره یا خیر

    متشکر

  4. #4

    نقل قول: insert در دوجدول مرتبط بهم

    یه سوال دیگه

    مدیریت خطاها در transaction چگونه خواهد بود؟
    مثلا خب این کاری که میخوام انجام بدم اگر جدول ها relation داشته باشن خطا میده (که دارن) اما اگر نداشته باشن چی؟خطا نمیده و رکورد درج میشه درسته؟


    mysql_query(begin)
    mysql_query(delete from abc where id=2)
    mysql_query(update abc where id=4)
    if (mysql_error())
    mysql_query(rollback)
    else
    mysql_query(commit)


    طبق این نمونه

    در کل چیزی هست که تضمین کنه id و t_id باهم یکسان هست و مرتبط بهم ایجاد شده؟
    آخرین ویرایش به وسیله omidabedi : جمعه 09 خرداد 1393 در 21:53 عصر

تاپیک های مشابه

  1. اجراي همزمان چند دستور Insert مرتبط
    نوشته شده توسط h_r_sh در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 21
    آخرین پست: سه شنبه 11 فروردین 1388, 11:39 صبح
  2. مشکل در insert جداول مرتبط با هم
    نوشته شده توسط ebrahim_elmi در بخش SQL Server
    پاسخ: 2
    آخرین پست: دوشنبه 11 شهریور 1387, 07:45 صبح
  3. مشکل در insert جداول مرتبط
    نوشته شده توسط ebrahim_elmi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 6
    آخرین پست: یک شنبه 10 شهریور 1387, 10:11 صبح
  4. استفاده از جداول بهم مرتبط
    نوشته شده توسط baharestan12 در بخش VB.NET
    پاسخ: 1
    آخرین پست: دوشنبه 19 آذر 1386, 09:50 صبح
  5. سوال در مورد insert در دو جدول مرتبط به هم
    نوشته شده توسط searchman در بخش SQL Server
    پاسخ: 7
    آخرین پست: سه شنبه 16 مرداد 1386, 14:09 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •