"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني استرداد المعرف الذي تم إنشاؤه تلقائيًا بكفاءة بعد إدراج في PHP/MySQL؟

كيف يمكنني استرداد المعرف الذي تم إنشاؤه تلقائيًا بكفاءة بعد إدراج في PHP/MySQL؟

نشر في 2025-03-24
تصفح:804

How Can I Efficiently Retrieve the Auto-Generated ID After an INSERT in PHP/MySQL?

تتضمن هذه العملية استفسارين متميزين ، من المحتمل أن تقدم فجوة زمنية بين إدخال الصف وجلب المعرف ، والتي يمكن أن تؤدي إلى ظروف السباق. يوضح الكود التالي استخدامه:

$ link = mysqli_connect ('127.0.0.1 ،' my_user '،' my_pass '،' my_db ') ؛ mysqli_query ($ link ، "insert in mytable (1 ، 2 ، 3 ، 'blah')") ؛ $ id = mysqli_insert_id ($ link) ؛

mysqli_insert_id () يسترد مباشرة المعرف الذي تم إنشاؤه بواسطة أحدث عبارة إدراج ، مما يلغي الحاجة إلى استعلامات إضافية. يضمن هذا النهج أن المعرف الذي تم استرداده يتوافق مع الصف الذي تم إدخاله للتو.

طريقة بديلة هي استخدام وظيفة MySQL Last_Insert_ID () ضمن استعلام واحد. من خلال الجمع بين عبارات إدراج متعددة ، يصبح من الممكن تحديث العديد من الجداول في وقت واحد وتجنب متاعب استرداد المعرف المنفصل:

mysqli_query (رابط $ ، "insert في my_user_table ... يحافظ اتصال MySQL على تسلسل هوية الخاص به ، مما يمنع التعارضات المحتملة بين الاتصالات المتزامنة.
            
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3