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

كيف يمكنني تعيين متغيرات المستخدم من نتائج الاستعلام في MySQL دون استخدام الاستعلامات المتداخلة؟

تم النشر بتاريخ 2024-11-06
تصفح:528

How Can I Assign User Variables from Query Results in MySQL without Using Nested Queries?

تعيين متغير المستخدم من نتيجة الاستعلام في MySQL

الخلفية والهدف

يؤدي تعيين المتغيرات المعرفة من قبل المستخدم بناءً على نتائج الاستعلام إلى تحسين قدرات معالجة قاعدة البيانات. تستكشف هذه المقالة طريقة لتحقيق ذلك في MySQL دون اللجوء إلى الاستعلامات المتداخلة.

بناء جملة تعيين متغير المستخدم

خلافًا للاعتقاد الشائع، يمكن دمج تعيين متغير المستخدم مباشرة في الاستعلامات. عامل التعيين لعبارات SET هو إما = أو :=. ومع ذلك، := يجب أن يستخدم ضمن عبارات أخرى، حيث أن = محجوز للمقارنات.

مثال استعلام

لتوضيح هذه التقنية، لنفترض أن USER وGROUP فريدان. يعرض تسلسل الاستعلام التالي الوظيفة:

SET @user := 123456;
SELECT @group := `group` FROM USER WHERE user = @user;
SELECT * FROM USER WHERE `group` = @group;

نموذج البيانات والنتائج

استخدام نموذج جدول يحتوي على البيانات التالية:

CREATE TABLE user (`user` int, `group` int);
INSERT INTO user VALUES (123456, 5);
INSERT INTO user VALUES (111111, 5);

يؤدي الاستعلام إلى النتيجة التالية:

 -------- ------- 
| user   | group |
 -------- ------- 
| 123456 |     5 |
| 111111 |     5 |
 -------- ------- 

نهج بديل

كبديل، يمكن استخدام الصيغة التالية:

SET @user := 123456;
SELECT `group` FROM user LIMIT 1 INTO @group;
SELECT * FROM user WHERE `group` = @group;
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3