10

ローカルで実行されているMySQL 5.5.8とともに、MySQLdb 32ビットでPython 2.7を使用しています。

私はこれに夢中になっています。そのようなものを見たことがありません。

基本的に、次の方法で Python から MySQL にレコードを挿入しています。

db=MySQLdb.connect(host="localhost",user="root", passwd="mypassword",db="python",port=3307)
cur=db.cursor()
cur.execute("INSERT INTO mytable(myfield) VALUES(%s);","somedata")

SELECT正しく接続され、データベースから正常にデータを取得できることを確認しました。

奇妙な部分は次のとおりです。MySQL Query Browser (GUI ツール) から、および CMD 経由で MySQL から、挿入されたレコードを表示できません。

Python スクリプトからレコードを挿入および選択できますが、データベースには表示されず、返されるだけです。Empty Set (0.00 sec)

そして、ここが本当に奇妙な部分です。GUI ツールとコンソールからデータを切り捨てて削除することができます。

要約すると、Python スクリプトからデータを挿入および選択できます。MySQLでそのデータを見ることができません。ただし、MySQL を使用してそのデータを切り捨てて削除することはできます。

この時点で私は完全に迷っています。

4

1 に答える 1

23

コードがコンソールで機能するが、それ以外の場合は機能しない場合は、次の行を追加する必要があると思います

db.autocommit(True)

db.commit()接続後、または挿入後に行う必要があります。

于 2012-04-04T07:11:26.340 に答える