LAST_INSERT_ID() در کوئری های TRANSACTION

این تاپیک 0 پاسخ و 1 مشارکت کننده دارد . آخرین آپدیت توسط :  Babak Golbaharan ،‏ 1 سال پیش .

این تاپیک تاکنون 277 بازدید داشته است .

تگ شده :  ,

نویسنده پست
چهار شنبه ، 18 نوامبر 2015     10:42 ب.ظ #


Babak Golbaharan

Subscriber
0 پست1 تاپیک

سلام مهندس خوبی؟ من php , mysql ;کار میکنم یه کوئری دارم به این شکل
BEGIN;
INSERT INTO table1 (column1,column2,...) VALUES (value1,value2,...);
INSERT INTO table2 (col1,col2,...) VALUES (LAST_INSERT_ID(),value2,...);
COMMIT;

حالا ایدی رکورد ثبت شده در tabel1 رو میخوام با tabel2 هم کارم راه میفته، اما متاسفانه چون دستور کامیت هست، دیگه lastinsertid نمیتونه اون دستور ایدی رو برام برگردونه، و صفر برمیگردونه. اگر هم به این شکل بنویسم
BEGIN;
INSERT INTO table1 (column1,column2,...) VALUES (value1,value2,...);
INSERT INTO table2 (col1,col2,...) VALUES (LAST_INSERT_ID(),value2,...);
SELECT LAST_INSERT_ID();
COMMIT;

بازهم بعد از فچ کردن هیچ مقداری رو بر نمیگردونه، در واقع NULL هست.
موضوع اینه که یه سری دیتا هست که باید بره توی دوتا جدول که relate هستن وارد بشه، و بعد از اینکه وارد شد، """"""پیش نمایش"""""" بشه یعنی همون موقع کسی که وارد کرده اطلاعات رو، اون رو ببینه و مثلا بتونه چکش کنه یا ویرایش کنه، حالا اطلاعات اینسرت اون دوتا جدول کامیت هست و برای پیش نمایش ما ایدی رو میخوایم تا بتونیم دوباره واکشی کنیم
چند روز سر این علافم بانو، هرچی PDF بوده خوندم، هرچی مطلب در موردش توی STACKOVERFLLOW بوده خوندم، جواب رو نگرفتم. خواهش میکنم راهنماییم کنید.
این ایدی تلگرام منه اگر لطف کنین اونجا بم بگین که بلافاصله متوجه شم ممنون میشم، @babak_maziar
خیلی عثب افتاده کارام و واقعا خیلی برام حیاطیه، خواهش میکنم راهنماییم کنید

0  تشکر
پست 1 تا 1 (از مجموع 1 پست)

برای پاسخ دادن به این تاپیک باید وارد سایت شوید .