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

كيفية جعل MySQL يقتطع البيانات بدلاً من ظهور خطأ عند الإدراج؟

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

How to Make MySQL Truncate Data Instead of Raising an Error on Insert?

سلوك إدراج MySQL: الاقتطاع مقابل الخطأ

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

الحل: تعطيل STRICT_TRANS_TABLES وSTRICT_ALL_TABLES

افتراضيًا، يفرض MySQL قيودًا صارمة الوضع، والذي يتضمن الإعدادات STRICT_TRANS_TABLES وSTRICT_ALL_TABLES. تحظر هذه الإعدادات القيم غير الصالحة أو المفقودة في عمليات تغيير البيانات مثل INSERT أو UPDATE.

للسماح بالاقتطاع التلقائي للسلاسل المدرجة، يمكننا تعطيل STRICT_TRANS_TABLES وSTRICT_ALL_TABLES. وإليك كيفية القيام بذلك:

SET SESSION sql_mode=NO_STRICT_TRANS_TABLES,NO_STRICT_ALL_TABLES;

شرح:

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

المرجع:

أوضاع MySQL Server SQL: https:/ /dev.mysql.com/doc/refman/8.0/en/sql-mode.html

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

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

Copyright© 2022 湘ICP备2022001581号-3