pythonでMySqlを動かしているのですが、単純なことでつまずいてしまいました。
python
1import MySQLdb 2import time 3import datetime 4 5 6connection = MySQLdb.connect(host='localhost', user='hoge', passwd='passw0rd', db='test', charset='utf8') 7cursor = connection.cursor() 8 9ts = time.time() 10timestamp = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S') 11 12cursor.execute("DELETE FROM testtbl WHERE time < %s",timestamp)
みたいな感じで使いたいのですが、最後の行がうまく動きません。
cursor.execute("DELETE FROM testtbl WHERE time < %s",timestamp)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 210, in execute
query = query % args
TypeError: not all arguments converted during string formatting
ちなみに
cursor.execute("DELETE FROM testtbl WHERE time < '2017-10-02 23:30:00'")
だと動きますし
print timestamp とやっても'2017-10-02 23:30:00'
と表示されますし
いったい何がダメなんでしょうか。
もちろん データベースtesttblテーブルのtimeはタイムスタンプ型です。
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/03 01:31