رمز خطأ MySQL 1175 أثناء التحديث في MySQL

Rmz Khta Mysql 1175 Athna Althdyth Fy Mysql



'عند العمل مع قواعد بيانات MySQL ، قد تواجه' Error Code 1175 'عند تنفيذ تعليمات UPDATE أو DELETE.'

سيناقش هذا المنشور سبب هذا الخطأ وكيف يمكننا حله باستخدام خادم MySQL.







ما الذي يسبب 'رمز خطأ MySQL 1175'؟

يحدث 'رمز خطأ MySQL 1175' عند إجراء عملية UPDATE أو DELETE بدون استخدام جملة WHERE.



بشكل افتراضي ، تستخدم MySQL ميزة تسمى safe_mode تمنعك من تنفيذ جملة UPDATE أو DELETE بدون جملة WHERE. هذا يمنع أي فقدان عرضي للبيانات على الهدف.



لذلك ، عند تنشيط ميزة safe_mode ، ستُرجع MySQL رمز الخطأ 1175 في أي عملية DELETE أو UPDATE لا تتضمن عبارة WHERE.





ويرد أدناه مثال على ذلك:

تحديث sakila.film تعيين العنوان = 'عنوان جديد' ؛



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

MySQL تحقق مما إذا كان Safe_Mode ممكّنًا

يتم تخزين حالة ميزة safe_mode في متغير sql_safe_updates. ومن ثم ، يمكننا جلب قيمة هذا المتغير لتحديد ما إذا كانت ميزة safe_mode ممكّنة أم لا.

الاستعلام كما هو موضح:

تظهر المتغيرات مثل 'sql_safe_updates' ؛

يجب أن يُرجع الاستعلام الحالة كما هو موضح:

+ ------------------ + ------- +
| اسم المتغير | قيمة |
+ ------------------ + ------- +
| التحديثات | على |
+ ------------------ + ------- +
1 صف في تعيين ( 0.00 ثانية )

في هذه الحالة ، يمكننا أن نرى أنه تم تمكين ميزة safe_mode في الجلسة.

كيفية حل 'رمز خطأ MySQL 1175'

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

للقيام بذلك ، يمكننا تعطيل ميزة safe_mode في الجلسة ، مما يسمح لنا بتنفيذ الاستعلام. بعد ذلك ، يمكننا استخدام الأمر SET متبوعًا باسم المتغير والقيمة التي نرغب في تعيينها.

على سبيل المثال ، لتعطيل Safe_mode ، قمنا بتعيين قيمة المتغير sql_safe_updates على 0. الاستعلام كما هو موضح:

ضبط SQL_SAFE_UPDATES = 0 ؛

لتمكينه ، اضبط القيمة على 1 على النحو التالي:

ضبط SQL_SAFE_UPDATES = 1 ؛

في MySQL Workbench ، يمكنك تعطيل ميزة Safe_mode بالانتقال إلى Edit-> Preferences -> SQL Editor

قم بتعطيل ميزة 'التحديثات الآمنة' وإعادة تشغيل الجلسة إلى الخادم.

نهاية

لقد تعلمت سبب 'رمز خطأ MySQL 1175' في هذا المنشور عند تنفيذ عبارات UPDATE أو DELETE. لقد تعلمت أيضًا كيفية حل الخطأ عن طريق تعطيل ميزة Safe_mode MySQL.