1

gevent-mysql で gevent を使用しています (同じ効果で pymysql も使用しました)。うまく選択できますが、何をしても挿入を実行できません。私はアイデアがありません。

conn = geventmysql.connect(host='localhost', port=3306, user='root', db='content')
cur = conn.cursor()
cur.execute("insert into placement (placement_name, some_id) values ('static', 1)")
cur.close()
conn.close()
4

3 に答える 3

3

トランザクション ストレージ エンジン (InnoDB など) を使用している場合は、autocommit変数の値を確認する必要があります: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_autocommit

である場合は、組み込みメソッドまたは呼び出し0を使用して、トランザクションをコミットする必要があります。commit()execute("COMMIT")

于 2011-05-20T23:16:03.947 に答える
2

geventmysql が他の Python DB API と同じように機能する場合、コミットを呼び出してデータベースへの変更をコミットする必要があります。geventmysql でない限り

于 2011-05-20T23:14:07.177 に答える
1

Python DB APIでは、すべてが暗黙的にトランザクションです。コミットせずに接続を閉じると、ロールバックされます。これを行う:

conn.commit()
cur.close()
conn.close()
于 2011-05-20T23:15:58.143 に答える