یک رکورد جدید در جدول 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) که همین مقدار را برمی‌گردانند استفاده کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:42
دسته بندی ها: MySQL MySQL for beginner
sara در 221 روز قبل ساعت 12:18

نکته: تابع LAST_INSERT_ID() مقدار آخرین شناسه خودکار تولیدشده در همان نشست را برمی‌گرداند و در محیط‌های همزمان امن است. پس از اجرای INSERT INTO orders (customer_id, total) VALUES (1, 100.50) می‌توانید با SELECT LAST_INSERT_ID() مقدار شناسه جدید را به‌دست آورید. وقتی چند ردیف به‌طور دسته‌ای درج می‌کنید، مقدار بازگشتی مربوط به اولین ردیف است. در اپلیکیشن‌ها هم می‌توانید از متدهای رابط مانند mysqli_insert_id یا PDO::lastInsertId استفاده کنید تا مقدار را به‌راحتی دریافت کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری