یک جدول ساده با یک ستون AUTO_INCREMENT بسازید، یک رکورد INSERT کنید و شناسه تولیدشده را بلافاصله با استفاده از تابع LAST_INSERT_ID() در همان جلسه بازیابی کنید.

3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:45

0.0

ابتدا با دستور CREATE TABLE ستونی از نوع INT و ویژگی AUTO_INCREMENT تعریف کنید، سپس یک INSERT انجام دهید. بلافاصله پس از INSERT در همان اتصال (session) از SELECT LAST_INSERT_ID(); برای گرفتن شناسه خودکار تولیدشده استفاده کنید — توجه کنید که LAST_INSERT_ID() به سطح اتصال معتبر است و باید مستقیماً بعد از INSERT فراخوانی شود؛ در صورت INSERT چندرکوردی، مقدار بازگردانده شده معمولاً شناسه اولین رکورد تولیدشده است.

توسط پژوهشگر در 202 روز قبل ساعت 02:45
دسته بندی ها: MySQL MySQL for beginner
arash در 202 روز قبل ساعت 08:37

برای دریافت شناسه تولیدشده خودکار پس از INSERT، در همان اتصال از LAST_INSERT_ID() استفاده کنید. LAST_INSERT_ID() به سطح اتصال وابسته است و باید فوراً بعد از INSERT فراخوانی شود تا مقدار درست را بدهد. اگر یک INSERT چندرکوردی انجام دهید، معمولاً مقدار برگشتی شناسه اولین رکورد تولیدشده است؛ با این حال این رفتار بسته به نسخه DB و تنظیمات ممکن است تفاوت کند. در پروژه‌های عملی، به این نکته دقت کنید و اگر به تک‌تک شناسه‌های هر ردیف نیاز دارید، از INSERT جداگانه یا روش‌های جایگزین استفاده کنید.

گزارش

1 پاسخ

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

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