2017-01-11 17 views
1

私は現在Pythonに接続しようとしているmysqlデータベースを持っています。私は正常にPythonでテーブルを作成しましたが、テーブルにデータを挿入する場合、私のコードは機能しません。私のPymysqlコマンドにエラーはありませんが動作しませんか?

import pymysql 
conn = pymysql.connect(
          host = Admin.Host, 
          user = Admin.User, 
          password= Admin.Password, 
          db = "thesystem" 
         ) 
a = conn.cursor() 
sql ="INSERT INTO `a`(`try`) VALUES ('testing')" 

a.execute(sql) 

私はMysqlコマンドラインクライアントでこの正確なコマンドを試してみました。

INSERT INTO `a`(`try`) VALUES ('testing'); 

私はこの同じコードでテーブルを作成することもできました。なぜコードが正常に実行されるのかわかりませんが、うまくいきません。

+1

あなたが挿入した後に、 ')(' conn.commit電話しましたか?デフォルトでは、pymysqlは自動コミットではありません。 –

+0

これはうまくいきませんでした – ZacAttack

答えて

0

pymysqlでは、変更後にconn.commit()を呼び出す必要があります。デフォルトでは、pymysqlはではなく、の自動コミットです。

https://github.com/PyMySQL/PyMySQL

コード例は言う:

. . . 
# connection is not autocommit by default. So you must commit to save 
# your changes. 
connection.commit() 
. . . 
関連する問題