前提
pythonでmysqlのデータベースに日付を挿入したいと考えています。
しかしながら、下記のコードを実行するとレコードには”0000-00-00”と入力されてしまいます。
該当のソースコード
python
1import mysql.connector as mydb 2import datetime 3 4# 更新日 5update_at = datetime.date.today().strftime("%Y/%m/%d") 6 7# mysqlに接続 8conn= mydb.connect( 9 user='root', # ユーザー名 10 password='', # パスワード 11 host='localhost', # ホスト名(IPアドレス) 12 database='database1' # データベース名 13) 14cursor = conn.cursor() 15table_name = "test" 16 17sql = f"INSERT INTO {table_name} (update_at) VALUES({update_at})" 18cursor.execute(sql) 19conn.commit() 20 21cursor.close() 22conn.close()
試したこと
update_atカラムの設定を様々な組み合わせで試してみましたが、状況は変わりませんでした。
タイプ:DATE
デフォルト値:なし
また、DATEとしての扱いをあきらめて、update_atをstrに変換し、
それに合わせてカラムの設定をvarcharにしてみたところ、
レコードには小数点を含む謎の数字が入力されていました。
コードまたはカラムの設定に誤りがあれば、教授いただければ幸いです。
回答1件