• 0

كيف أحذف بيانات على قاعدة Mysql مع استعمال Left Join؟

في قاعدة بيانات من نوع Mysql، أستعمل جمل الاستعلام التالية للحصول على بيانات محددة مع تضمين دالة Left Join:

SELECT * FROM `deadline`
LEFT JOIN `job` ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno'

لكن عندما أريد حذف نفس البيانات مع استخدام left Join بالطريقة التالية:

DELETE FROM `deadline`
LEFT JOIN `job`
ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno'

أحصل على الخطأ التالي:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN job ON deadline.job_id = job.job_id WHERE status = 'szaml' at line 1

لا أدري ما نوع الخطأ؟ كيف أحل المشكلة؟

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

كلّ ما في الأمر أنك نسيت من أي جدول ستتم عملية الحذف، ولاحظ جيداً "...Delete * From" مما ستُنتج خطأ لأن المحلل على Mysql لن يفهم الأمر وبالتي إليك الحل:

  • حذف قيم من جدول deadline:
DELETE `deadline` FROM `deadline` LEFT JOIN `job` ....
  • حذف قيم من الجدولين معاً (deadline وَ job):
DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` ....
  • حذف القيم من جدول "job":
DELETE `job` FROM `deadline` LEFT JOIN `job` ....

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن