Python و MySQLdb: استبدال الجدول يؤدي إلى خطأ في بناء الجملة
-
29-10-2019 - |
سؤال
أحتاج إلى تغيير الجداول والمتغيرات ديناميكيًا من وقت لآخر ، لذلك كتبت طريقة بيثون مثل هذا: Genacodicetagpre
ومع ذلك ، ينتج عن هذا استثناء خطأ في بناء الجملة.حاولت تصحيحه لذا قمت بطباعة المتغيرات في الطريقة وملأتها يدويًا ، ونجح ذلك.لذلك لست متأكدًا مما أفعله خطأ؟
هل لأنني أحاول استخدام بديل للطاولة؟
كيف يمكنني أيضًا تصحيح أخطاء mysqldb بحيث يطبع الاستعلام البديل كسلسلة؟
المحلول
يعد استبدال المعلمات في DB API للقيم فقط - وليس الجداول أو الحقول.ستحتاج إلى استخدام بديل سلسلة عادي لتلك:
Genacodicetagpreلاحظ أن العنصر النائب للقيمة له رمز ترميز مزدوج للنسخ - بحيث يتم تركه بمفرده من خلال استبدال السلسلة الأولية.
نصائح أخرى
هنا مثال كامل للعمل Genacodicetagpre
سيتعين عليك استخدام استبدال السلسلة لإضافة أسماء الجدول والأعمدة ، وسيتعامل برنامج التشغيل مع المعلمات فقط.
Ed: NM، Daniel أجاب بشكل أسرع وأكثر شمولية
هل قصدت أن تكتب: Genacodicetagpre
وهذا مجرد خطأ في تنسيق السلسلة؟
راجع للشغل لماذا تكتب SQL صريحًا لهذا النوع من العمل؟أفضل استخدام sqlalchemy للتلاعب بلغة python sql ..