python 2.7で簡単な更新文を実行しようとしましたが、まったく動作しません。私は誰かが私の間違いを表示することを願って:Python MySQLの更新文が機能しない
import MySQLdb
import datetime
db = MySQLdb.connect(host="localhost", # your host, usually localhost
user="root", # your username
passwd="", # your password
db="******") # name of the data base
cur = db.cursor()
cur.execute("SELECT * FROM data")
for row in cur.fetchall():
id_row = str(row[0])
date = str(row[1])
new_date = date[:-2]
new_date += "00"
cur.execute("UPDATE data SET date={0} WHERE ID={1}".format(new_date, id_row))
db.close()
スクリプトは、データベースからのUNIXタイムスタンプが 最後の2つの数値を切断して、日付を取る00に置き換えると、データベース内の行を更新する必要があります。 数字を置き換えるコードは機能しますが、更新プロセスは機能しません。 エラーメッセージは表示されず、コード0で終了します。
私は間違いをどこにしたか分かりません。誰も助けることができますか?
ありがとうございます!
IDは引用符で囲む必要がありますか? –
接続を閉じる前にdb.commit()を試してみてください。 –
'row [0]'を 'str'の代わりに' int'にキャストしてみてください。そして 'db.commit()'も助けになるかもしれません。 – campovski