كيف يمكنني حل هذا؟


pet cannot be added 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'of birth, gender_id, cat_id, picture, instock) values ('coco','pitbull','425....' at line 1

sql = “أدخل في قيم tblpet (الاسم، السلالة، السعر، اللون، العمر، تاريخ الميلاد، معرف_الجنس، معرف_القطط، الصورة، المخزون) (%s،%s،%s،%s،%s،%s،% س،%s،%s،%s)”
# أضف متغيرات النموذج لكل عمود
val = (الاسم، السلالة، السعر، اللون، العمر، dt، الجنس، القط، مسار الملف، instk)
cur.execute(sql، فال)
يخدع ()

ما حاولت:

لقد قمت بفحص جميع قاعدة البيانات الخاصة بي وفحصت الكود ولكن تمكنت من العثور على المشكلة.

الحل 1

لديك عمود يسمى date of birth، والذي يجب دائمًا الهروب منه باستخدام علامات الرجوع:
MySQL :: الدليل المرجعي لـ MySQL 8.0 :: 11.2 أسماء كائنات المخطط[^]

SQL
INSERT into tblpet (name, breed, price, color, age, `date of birth`, gender_id, cat_id, picture, instock) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)

سيكون الخيار الأفضل هو إعادة تسمية العمود الخاص بك بحيث لا يحتوي على مسافات – على سبيل المثال، date_of_birth.

コメント

タイトルとURLをコピーしました