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

كيفية التعامل مع السجلات ذات القيم المتعددة في جملة MySQL WHERE IN()؟

تم النشر بتاريخ 2024-12-23
تصفح:209

How to Handle Records with Multiple Values in a MySQL WHERE IN() Clause?

مشغل MySQL IN ()

عند الاستعلام عن قاعدة بيانات MySQL، غالبًا ما يُستخدم عامل WHERE IN () لاسترداد صفوف بناءً على معلومات محددة القيم في عمود. على سبيل المثال، يسترد الاستعلام التالي كافة الصفوف من جدول "الجدول" حيث يتطابق عمود "المعرف" مع أي من القيم (1، 2، 3، 4):

SELECT * FROM table WHERE id IN (1,2,3,4);
ومع ذلك، تنشأ مشكلة عندما يحتوي السجل على قيم "معرف" متعددة، مثل 1 و3. في مثل هذه الحالات، قد لا يُرجع الاستعلام ذلك صف.

الحل يترجم الاستعلام إلى شروط OR التالية:

SELECT * FROM table WHERE id = '1' أو id='2' أو id='3' أو id='4';
SELECT * FROM table WHERE id='1' or id='2' or id='3' or id='4';

لحل هذه المشكلة، أحد الخيارات هو استخدام نوع البيانات SET لعمود "المعرف". يتيح لك ذلك تخزين قيم متعددة باستخدام سلاسل مفصولة بفواصل. يمكنك بعد ذلك استخدام الدالة FIND_IN_SET() للبحث عن قيم محددة:

SELECT * FROM table WHERE FIND_IN_SET('1', id);
SELECT * FROM table WHERE FIND_IN_SET('1', id);
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3