2012-04-04 16 views
8

Sto usando Python 2.7 con MySQLdb 32 bit, oltre a MySQL 5.5.8 in esecuzione locale.MySthon Python: non vengono visualizzati i record inseriti

Mi sto facendo impazzire per questo, non ho mai visto niente del genere.

In sostanza, sto inserendo record in MySQL da Python tramite:

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

Ho verificato che esso sia collegato correttamente e che può con successo SELECT i dati dal database.

Ecco la parte dispari: Da MySQL Query Browser (strumento GUI) E da MySQL tramite CMD, non riesco a visualizzare i record inseriti.

posso inserire e selezionare i record dal mio script Python, ma non mostrano nel mio database, si restituisce solo Empty Set (0.00 sec)

E qui è la parte davvero strano: posso troncare ed eliminare i dati dalla GUI strumento e dalla console.

Per riassumere: Posso inserire e selezionare i dati dallo script Python. Non riesco a vedere quei dati in MySQL. Tuttavia, posso troncare ed eliminare quei dati usando MySQL.

Sono completamente perso a questo punto.

risposta

18

Se il codice funziona nella console, ma non altrimenti, credo che è necessario aggiungere la riga

db.autocommit(True) 

Dopo aver collegato o è necessario fare db.commit() dopo i vostri inserti.

+0

Il metodo 'commit' non è in' db' in questo caso? – exhuma

+0

Hai assolutamente ragione @exhuma, mio ​​errore. –

+0

Vorrei averlo trovato negli esempi nella documentazione ... Grazie !!! Accetterò la tua risposta tra ca. 4 minuti! – MrZander

Problemi correlati