MySQL INSERT تجاهل البند

Mysql Insert Tjahl Albnd



تعد عبارة INSERT واحدة من أكثر العبارات الأساسية والمفيدة في MySQL وأي قاعدة بيانات أخرى.

يسمح لنا بإدراج السجلات في جدول موجود من خلال الرجوع إلى اسم الجدول وتوفير تخطيط أعمدة الجدول. ثم نقوم بتوفير القيم التي نرغب في إدراجها في الجدول.







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



من الجيد أن يكون لديك احتياطي يسمح لـ MySQL بإدراج الصفوف التي تحتوي على قيم صالحة بشكل انتقائي وتجاهل تلك التي لا تتناسب مع المتطلبات. هذا هو المكان الذي يتم فيه تفعيل عبارة INSERT IGNORE.



في هذا البرنامج التعليمي، سوف نتعلم كيفية استخدام عبارة INSERT IGNORE للسماح لـ MySQL بتجاهل أي صف يحتوي على بيانات غير صالحة بدلاً من إنهاء كتلة الإدراج بأكملها.





بناء الجملة:

يوضح ما يلي بناء الجملة الأساسي لعبارة INSERT IGNORE في قاعدة بيانات MySQL:

إدراج تجاهل في الجدول ( column_list )
قيم ( value_list ) ,
( value_list ) ,


إن عبارة INSERT IGNORE خاصة بقاعدة بيانات MySQL وغير مدعومة في أنظمة قواعد البيانات الأخرى لأنها ليست جزءًا من معيار SQL.



ومع ذلك، توفر محركات قواعد البيانات الأخرى تنفيذًا مشابهًا باستخدام عبارات مثل INSERT ON DUPLICATE KEY UPDATE، وINSERT INTO ON CONFLICT DO NOTHING (PostgreSQL) والمزيد.

MySQL INSERT تجاهل البند

دعونا نستكشف مثالاً يوضح كيفية استخدام جملة INSERT IGNORE في MySQL.

خذ بعين الاعتبار الجدول النموذجي الذي يقوم بإنشاء جدول أساسي يحتوي على معلومات المنتج:

إنشاء منتجات الجدول (
Product_id INT المفتاح الأساسي AUTO_INCREMENT،
اسم المنتج VARCHAR ( 255 ) ,
فئة فارتشار ( 255 ) ,
السعر العشري ( 10 , 2 ) ,
كمية إنت,
تاريخ انتهاء الصلاحية التاريخ،
الباركود الكبير
) ;


بمجرد إنشاء الجدول، دعونا نحاول إدراج الصفوف في الجدول مع بعض الصفوف التي تحتوي على خطأ.

أدخل في المنتجات ( اسم المنتج، الفئة، السعر، الكمية، تاريخ انتهاء الصلاحية، الباركود )
قيم
( 'قبعة الشيف 25 سم' , 'مخبز' , 24.67 , 57 , '2023-09-09' , 2854509564204 ) ,
( 'بيض السمان - معلب' , 'مخزن' , 17.99 , 67 , '2023-09-29' , 1708039594250 ) ,
( , 'مخبز' , 92.53 , 10 , '2023-09-22' , 8704051853058 ) ;


قد تلاحظ أن الصف الأخير يحتوي على خطأ. وهذا مقصود لتوضيح ما يحدث عندما نحاول إدراج البيانات كما هو موضح في المثال السابق.

بمجرد تشغيل الاستعلام السابق، يجب أن يُرجع رسالة الخطأ كما يلي:

خطأ SQL [ 1064 ] [ 42000 ] : لديك خطأ في بناء جملة SQL الخاص بك؛ تحقق من الدليل الذي يتوافق مع إصدار خادم MySQL الخاص بك ل بناء الجملة الصحيح لاستخدامه بالقرب '،' مخبز '، 92.53، 10،' 2023 -09- 22 '، 8704051853058)' في السطر 5


ونتيجة لذلك، سيقوم MySQL بإنهاء عبارات INSERT بأكملها على الرغم من أن الصفين الأولين صالحان. للتغلب على ذلك، يمكننا استخدام جملة INSERT IGNORE على النحو التالي:

أدخل تجاهل في المنتجات ( اسم المنتج، الفئة، السعر، الكمية، تاريخ انتهاء الصلاحية، الباركود )
قيم
( 'قبعة الشيف 25 سم' , 'مخبز' , 24.67 , 57 , '2023-09-09' , 2854509564204 ) ,
( 'بيض السمان - معلب' , 'مخزن' , 17.99 , 67 , '2023-09-29' , 1708039594250 ) ,
( , 'مخبز' , 92.53 , 10 , '2023-09-22' , 8704051853058 ) ;


سيقوم MySQL بإدراج السجلات الصالحة ويتجاهل السجلات غير الصالحة.

خاتمة

في هذا البرنامج التعليمي، تعلمنا كيفية استخدام عبارة INSERT IGNORE في MySQL لتخطي أي صف يحتوي على خطأ أثناء عبارة INSERT أثناء تطبيق الجمل الصالحة.