Python MySQL: Tidak menampilkan catatan yang dimasukkan [duplikat]

Saya menggunakan Python 2.7 dengan MySQLdb 32bit, bersama dengan MySQL 5.5.8 yang berjalan lokal.

Saya membuat diri saya gila karena ini, saya belum pernah melihat yang seperti ini.

Pada dasarnya, saya memasukkan catatan ke MySQL dari Python melalui:

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

Saya telah memverifikasi bahwa itu terhubung dengan benar dan berhasil SELECT data dari database.

Inilah bagian yang aneh: Dari MySQL Query Browser (alat GUI) DAN dari MySQL melalui CMD, saya tidak dapat melihat catatan yang dimasukkan.

Saya dapat menyisipkan dan memilih catatan dari Skrip Python saya, tetapi catatan tersebut TIDAK muncul di database saya, ia hanya mengembalikan Empty Set (0.00 sec)

Dan inilah bagian yang sangat aneh: Saya dapat memotong dan menghapus data dari alat GUI dan dari Konsol.

Singkatnya: Saya dapat menyisipkan dan memilih data dari Skrip Python. Saya tidak bisa melihat data itu di MySQL. Namun, saya dapat memotong dan menghapus data tersebut menggunakan MySQL.

Saya benar-benar tersesat saat ini.


person MrZander    schedule 04.04.2012    source sumber


Jawaban (1)


Jika kode Anda berfungsi di konsol tetapi tidak sebaliknya, saya yakin Anda perlu menambahkan baris

db.autocommit(True)

Setelah Anda terhubung atau Anda perlu melakukan db.commit() setelah Anda memasukkan.

person Nolen Royalty    schedule 04.04.2012
comment
Apakah metode commit tidak ada pada db dalam kasus ini? - person exhuma; 04.04.2012
comment
Anda benar sekali @exhuma, kesalahan saya. - person Nolen Royalty; 04.04.2012
comment
Saya berharap saya dapat menemukannya dalam contoh di dokumentasi... Terima kasih!!! Saya akan menerima jawaban Anda sekitar. 4 menit! - person MrZander; 04.04.2012