【解決方法】これを解決するにはどうすればよいですか?


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 (名前、品種、価格、色、年齢、生年月日、性別 ID、猫 ID、写真、在庫) 値 (%s,%s,%s,%s,%s,%s,%) に挿入します。 s、%s、%s、%s)”
#各列のフォーム変数を追加します
val = (名前、品種、価格、色、年齢、dt、性別、猫、ファイルパス、インスタンス)
cur.execute(sql, val)
con.commit()

私が試したこと:

すべてのデータベースをチェックし、コードをチェックしましたが、問題を見つけることができました。

解決策 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をコピーしました