###前提・実現したいこと
お世話になります。
PythonからDBにデータを保存する処理を作成しています。
作成日時としてSQLite関数の「datetime()」を利用して日時を入れたいのですが、
プリペアードステートメントに渡すデータ内でこの関数を記述すると、
この関数が単なる文字列として認識され、
datetime()のままの状態でDBに登録されてしまいます。
※datetime()を囲むダブルクォートを取るとエディタがエラーと表示します。
ソースは以下のような感じです。
Python
1 sql = """ 2INSERT INTO "samples"( 3 text 4 ,created_at 5 ,delete_flg 6) 7VALUES( 8 :text 9 ,:created_at 10 ,:delete_flg 11); 12 """ 13 14 params = { 15 "text": "サンプルのテキスト", 16 "created_at": "datetime('now', '+9 hours')", 17 "delete_flg": 0 18 } 19 20 db.execute(sql, params)
今は、応急的に、paramsではなくsql側に直接、関数を書くことで対応していますが、
可能であればparams内に関数を記述したいです。
よろしくお願いいたします。
###補足情報(言語/FW/ツール等のバージョンなど)
OS: Windows7 64bit
Python: 3.6.3
DB: SQLite3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/27 02:39
2018/07/27 03:30