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

كيفية استيراد ملفات XML إلى MySQL مع عمود معرف مفقود باستخدام LOAD XML وXML_LOAD()؟

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

How to Import XML Files into MySQL with a Missing ID Column Using LOAD XML and XML_LOAD()?

استيراد ملفات XML إلى MySQL باستخدام وظيفة XML_LOAD()

في هذا السيناريو، تواجه خطأ أثناء محاولة استيراد ملف XML إلى جدول قاعدة بيانات MySQL باستخدام الأمر تحميل XML. تنشأ المشكلة بسبب عدم التطابق بين عدد الحقول في الجدول والقيم الموجودة في ملف XML، حيث يحتوي الجدول على حقل معرف إضافي للزيادة التلقائية.

لمعالجة هذا الخطأ، يمكنك تحديد الحقول التي سيتم استيرادها بشكل صريح باستخدام عبارة LOAD XML. سوف تنجز عبارة SQL التالية هذا:

LOAD XML LOCAL INFILE '/pathtofile/file.xml'
INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);

من خلال تحديد أسماء الحقول، فإنك تطلب من MySQL تخطي حقل المعرف المفقود أثناء عملية الاستيراد. سيتم ملء حقل المعرف تلقائيًا بقيم متزايدة بناءً على إعدادات الزيادة التلقائية في الجدول.

طريقة بديلة مع تعيين الأعمدة

إذا رغبت في ذلك، يمكنك أيضًا استخدام وظيفة XML_LOAD() لاستيراد بيانات XML إلى MySQL. توفر هذه الوظيفة المزيد من المرونة وتسمح بتعيين أعمدة صريحة:

SET @xmlData = XML('...');

SELECT XML_LOAD(@xmlData, '/resultset/row',
                 '(personal_number, firstname, lastname, email, start_time, end_time, employee_category)'
                 INTO TABLE my_tablename);

في هذه الحالة، تقوم الدالة XML_LOAD() بتوزيع بيانات XML وملء جدول my_tablename بناءً على تعيين العمود المحدد في عبارة INTO TABLE.

باستخدام أي منهما من بين هذه الطرق، يمكنك بنجاح استيراد بيانات XML إلى جدول قاعدة بيانات MySQL، وتخطي حقل المعرف المفقود والاعتماد على ميزة الزيادة التلقائية لإنشاء معرفات فريدة لكل صف.

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

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

Copyright© 2022 湘ICP备2022001581号-3