3

Python でコーディングして、次のようにデータベース側で処理される時間を挿入したい:

time = func.now()-datetime.timedelta(days=100)

また

time = func.current_timestamp()-datetime.timedelta(days=100)

しかし、どういうわけか通過できず、警告が表示されました:

sqlalchemy\engine\default.py:330: Warning: Truncated incorrect DOUBLE value: '1970-01-04 00:00:00'

それをまっすぐにする方法はありますか?ありがとう。

================================

テーブル 'Purchase' の TIMESTAMP 列 'date_buy' を更新したいのですが、datetime.datetime.now() を使用して Python で更新時刻を取得する代わりに、データベースでこれを実行したいのです。 func.now():

time = func.current_timestamp()-datetime.timedelta(days=100)
# time = datetime.datetime.now()-datetime.timedelta(days=100)
session.execute(update(Purchase).values(date_buy=time).where(Purchase.c.id == 11))

=================================

解決しました。Bryan と彼の投稿に感謝します: http://groups.google.com/group/sqlalchemy/browse_thread/thread/a67d4f179e01b98a/ee688a0b8a999f52?hl=en&lnk=gst&q=date_add#ee688a0b8a999f52

4

1 に答える 1

2

警告は

Warning: Truncated incorrect DOUBLE value: '1970-01-04 00:00:00'

データを切り捨てることを意味します。時間オブジェクトを格納するフィールドタイプを確認してください。これは、日時値とともにDOUBLE値を格納しようとしていることを示しています。

これで問題が解決しない場合は、コード例をいくつか挙げてください。そうすれば、何をしようとしているのかがわかります。

于 2012-02-08T04:22:41.170 に答える