Comment puis-je résoudre ce problème ?

la programmation


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 = “INSÉRER dans tblpet (nom, race, prix, couleur, âge, date de naissance, genre_id, cat_id, photo, instock) valeurs (%s,%s,%s,%s,%s,%s,% s,%s,%s,%s)”
#ajouter les variables du formulaire pour chaque colonne
val = (nom, race, prix, couleur, âge, dt, sexe, chat, chemin du fichier, instk)
cur.execute(sql, val)
con.commit()

Ce que j’ai essayé :

J’ai vérifié toute ma base de données et vérifié le code mais j’ai permis de trouver le problème.

Solution 1

Vous avez une colonne appelée date of birthqui doit toujours être échappé à l’aide de backticks :
MySQL :: MySQL 8.0 Reference Manual :: 11.2 Noms des objets de schéma[^]

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)

Une meilleure option serait de renommer votre colonne afin qu’elle ne contienne pas d’espaces – par exemple : date_of_birth.

コメント

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