2012-04-04 10 views
8

Python 2.7とMySQLdb 32bitを一緒に使用しています。Python MySQL:挿入されたレコードを表示していません

私は自分自身をこの上に夢中にしている、私はそれのようなものを見たことがない。

基本的に、私は経由でのPythonからのMySQLにレコードを挿入しています:私はそれが正しく接続されていることを確認し、それがデータベースから成功しSELECTデータができることをしている

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") 

ここには奇妙な部分があります: MySQL Query Browser(GUIツール)から、CMD経由のMySQLから、私は挿入されたレコードを見ることができません。

私は挿入し、私のPythonスクリプトからレコードを選択するが、彼らは、それだけでEmpty Set (0.00 sec)

を返し、ここでは本当に奇妙な一部であり、私のデータベースに表示されないことができます。私は、GUIからデータを切り捨て、削除することができますツールから、そしてコンソールから。

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

私はこの時点で完全に失われています。

答えて

18

コードがコンソールで動作しますが、ないそうでない場合は、私はあなたが接続したり、あなたの挿入後db.commit()を行う必要があります後ライン

db.autocommit(True) 

を追加する必要があります信じています。

+0

この場合、 'commit'メソッドは' db'にはありませんか? – exhuma

+0

あなたは絶対に正しい@exhumaです、私の間違いです。 –

+0

私はドキュメントの例でそれを見つけられたと思います...ありがとうございました!!!私はあなたの答えを約で受け入れます。 4分! – MrZander

関連する問題