サーバー上で接続が開いたままになるのを防ぐために、mysqldbのカーソルと接続を閉じるために現在行っていることを次に示します。次に、エラーを再度発生させます。
import MySQLdb
conn = MySQLdb.connect(user="username", passwd="secret", db="database", charset='utf8')
cur = conn.cursor()
try:
cur.execute("INSERT INTO testTable (userid) VALUES(%s);" % id)
conn.commit()
except:
cur.close()
conn.close()
raise
finally:
print "Insert Successful"
これを行うより良い方法はありますか?
注: WITH キーワードの方が優れていることはわかっていますが、mysqldb が接続を自動的に閉じるための WITH キーワードをサポートしているというドキュメントは見つかりませんでした。