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

دليل إنشاء MySQL Dynamic Pivottable: معرف مستخدم صحيح

نشر في 2025-04-13
تصفح:403

How to Create Dynamic Pivot Tables in MySQL with Integer User IDs?

على الرغم من أن الحل يعمل بشكل فعال عند تعريف user_id كسلسلة ، فإنه يفشل عند مواجهة قيم عدد صحيح. يوضح مقتطف الرمز المقدم المحاولة الأولية لإنشاء جدول PIVOT. ومع ذلك ، لحل المشكلة المتعلقة بقيم user_id integer ، تكمن التصحيحات في الطريقة التي يتم بها إنشاء أسماء الأعمدة ضمن استعلام SQL الديناميكي.

الكود الأصلي:

... group_concat (متميز تسلسل ( 'max (حالة عندما user_id =' '' ، user_id ، '' 'ثم النتيجة نهاية) مثل "، user_id ) ) في SQL

int user_id قيم تسبب المشكلة حيث يتم استخدامها مباشرة كأسماء الأعمدة. لمعالجة هذا ، يجب أن يتم لف هذه القيم في backticks (`). يعدل الرمز المصحح هذا:

...
GROUP_CONCAT(DISTINCT
    CONCAT(
      'max(case when user_id = ''',
      user_id,
      ''' then score end) AS ',
      user_id
    )
  ) INTO @sql

الاستعلام النهائي المصحح:

...
GROUP_CONCAT(DISTINCT
    CONCAT(
      'max(case when user_id = ''',
      user_id,
      ''' then score end) AS `',
      user_id, '`'
    )
  ) INTO @sql

مع هذه التعديلات ، يمكن الآن إنشاء جدول المحور بنجاح حتى عند التعامل مع قيم user_id integer.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3