يؤدي تعيين المتغيرات المعرفة من قبل المستخدم بناءً على نتائج الاستعلام إلى تحسين قدرات معالجة قاعدة البيانات. تستكشف هذه المقالة طريقة لتحقيق ذلك في 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