محمد
4 سال پیش توسط محمد مطرح شد
3 پاسخ

بازگرداندن مقدار id سطر جدید اضافه شده در mysql

سلام وقتتون بخیر سوالی دارم ممنون می شم راهنمایی کنید.
من داخل مدل خودم یک فانکشن قرار دادم که قراره به یک table یک سطر جدید اضافه کنه و id سطر جدید رو برگردونه. من این کار رو اینطوری انجام دادم که وقتی برنامه سطر جدید رو اضافه کرد براساس یک سطون غیر کلیدی (چون غیر از id سطون کلیدی دیگه ای ندارم) دوباره با پایگاه داده ارتباط برقرار کنه و select کنه اون ستون رو و براساس تاریخ ثبت ، سطر جدید رو پیدا کنه و مقدار id رو برگردونه. این برنامه کاملا درست کار می کنه و عملی هست . اما فکر می کنم که روشم اصلا درست نیست و مثل پیچوندن لقمه دور گردنم هست و ممکنه استثناء هم به وجود بیاره. به نظر شما راه بهتری برای انجام این کار هست؟؟؟ مثلا یک query بنویسیم که اوتوماتیک وقتی سطری رو تحت تاثیر قرار داد مقدار سطون کلیدی اون سطری (مثلا id) که تحت تاثیر قرار گرفته رو برگردونه. ممنون


ثبت پرسش جدید
اسماعیل هاشمی
تخصص : لاراول و php
@aaminhashemi74 4 سال پیش مطرح شد
1

@mohammad.ali.khassepas
اگر از PDO استفاده میکنید، میتونید با استفاده از تابع ()lastInsertId آی دی آخرین سطری که اضافه کردید به دیتابیس رو بدست بیارید. این لینک رو ببینید:
https://www.php.net/manual/en/pdo.lastinsertid.php


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش مطرح شد
0

شما کوئری اینسرنت رو که میزنی نیازی نیست برگردی و دوباره کوئری بزنی که سطر مورد نظرت رو برگردونه، همونجا اینستر کردی بریز تویی متغییر برگردون.


محمد
تخصص : web developer
@mohammad.ali.khassepas 4 سال پیش مطرح شد
0

من متوجه نشدم . امکانش هست یک مثال کوچیک بزنید؟؟


اسماعیل هاشمی
تخصص : لاراول و php
@aaminhashemi74 4 سال پیش مطرح شد
1

@mohammad.ali.khassepas
اگر از PDO استفاده میکنید، میتونید با استفاده از تابع ()lastInsertId آی دی آخرین سطری که اضافه کردید به دیتابیس رو بدست بیارید. این لینک رو ببینید:
https://www.php.net/manual/en/pdo.lastinsertid.php


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

ورود یا ثبت‌نام