فهم الخطأ: "DETERMINISTIC، NO SQL، or READS SQL DATA" متطلبات الإعلان
عند استيراد قاعدة بيانات إلى MySQL، يكون ذلك ممكنًا لمواجهة الخطأ التالي:
1418 (HY000) at line 10185: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)
يشير هذا الخطأ إلى أن وظيفة محددة أو إجراء مخزن يفتقر إلى أحد الإجراءات التالية الإعلانات في تعريفها:
عند تمكين التسجيل الثنائي في MySQL، تكون هذه الإعلانات مطلوبة لضمان تكامل البيانات واتساق النسخ المتماثل.
إصلاحات الخطأ
] &&&]لحل هذه المشكلة، يمكنك استخدام إحدى الطريقتين:
SET GLOBAL log_bin_trust_function_creators = 1؛
SET GLOBAL log_bin_trust_function_creators = 1;
log_bin_trust_function_creators = 1;
log_bin_trust_function_creators = 1;
إنشاء دالة my_function() DETERMINISTIC جسم - منطق وظيفتك نهاية
log_bin_trust_function_creators = 1;
إنشاء وظيفة my_function() NO SQL جسم - منطق وظيفتك نهاية
log_bin_trust_function_creators = 1;
إنشاء وظيفة my_function() READS SQL DATA جسم - منطق وظيفتك نهاية
SET GLOBAL log_bin_trust_function_creators = 1;
يمكن للوظائف غير الحتمية تعديل البيانات أو استخدام مدخلات غير متوقعة، مما يؤدي إلى اختلافات نتائج لنفس معلمات الإدخال. على هذا النحو، من المهم الإعلان بدقة عن سلوك الوظيفة لتحسين الأداء وضمان سلامة البيانات. توفر وثائق MySQL دليلاً شاملاً لمختلف خيارات الإعلان عن الوظائف والإجراء المخزن، مما يسمح لك باتخاذ قرارات مستنيرة لكل منها. وظيفة. يمكن أن تؤثر الإعلانات الخاطئة على خطط التنفيذ وتؤثر على الأداء.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3