67

これをEclipseのPyDevから実行しています...

import pymysql
conn = pymysql.connect(host='localhost', port=3306, user='userid', passwd='password', db='fan')
cur = conn.cursor()
print "writing to db"
cur.execute("INSERT INTO cbs_transactions(leagueID) VALUES ('test val')")
print "wrote to db"

結果は、コンソールの上部に C:...test.py と表示され、コンソールには次のように表示されます。

db への書き込み db への書き込み

したがって、実行コマンドの後まで終了しません。しかし、MySQL のテーブルを見ると、空です。レコードが挿入されませんでした。

まず、なぜそれは記録を書いていないのですか。次に、ログまたはエラーを表示して何が起こったかを確認するにはどうすればよいですか。通常、コードが失敗した場合、何らかのエラーが赤色で表示されます。

4

3 に答える 3

119

PyMySQLautocommitはデフォルトで無効になっています。以下に追加できautocommit=Trueますconnect()

conn = pymysql.connect(
    host='localhost',
    user='user',
    passwd='passwd',
    db='db',
    autocommit=True
)

conn.commit()または挿入後に呼び出す

于 2014-03-27T07:28:11.303 に答える