یک رکورد جدید در جدول orders (با ستون id از نوع AUTO_INCREMENT) وارد کنید و شناسه تولیدشده خودکار را با استفاده از تابع LAST_INSERT_ID() بازیابی کنید.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:42 0.0
ابتدا با دستور INSERT یک سطر جدید در جدول orders وارد کنید، سپس بلافاصله در همان نشست (session) از تابع SELECT LAST_INSERT_ID() برای دریافت مقدار AUTO_INCREMENT تولیدشده استفاده کنید؛ مانند: INSERT INTO orders (customer_id, total) VALUES (1, 100.50); SELECT LAST_INSERT_ID(); تابع LAST_INSERT_ID() مقدار آخرین id تولیدشده توسط INSERT در همان ارتباط با سرور را برمیگرداند و برای محیطهای همزمان امن است. نکات: برای درج چند ردیف بهصورت دستهای، مقدار بازگشتی مربوط به اولین ردیف است؛ همچنین در اپلیکیشنها میتوانید از متدهای مخصوص رابط (مثلاً mysqli_insert_id در PHP) که همین مقدار را برمیگردانند استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته: تابع LAST_INSERT_ID() مقدار آخرین شناسه خودکار تولیدشده در همان نشست را برمیگرداند و در محیطهای همزمان امن است. پس از اجرای INSERT INTO orders (customer_id, total) VALUES (1, 100.50) میتوانید با SELECT LAST_INSERT_ID() مقدار شناسه جدید را بهدست آورید. وقتی چند ردیف بهطور دستهای درج میکنید، مقدار بازگشتی مربوط به اولین ردیف است. در اپلیکیشنها هم میتوانید از متدهای رابط مانند mysqli_insert_id یا PDO::lastInsertId استفاده کنید تا مقدار را بهراحتی دریافت کنید.
گزارش