I have a problem using the MySQLdb library. I\'m trying to insert values into my table but MySQL isn\'t showing them. What\'s more strange is the primary key is changing whe
When you execute statements that modify the database, you have to commit, as has already been answered. If you're only using SELECT, the you don't need to commit. Be careful with autocommit, because if someone else is working on the database and you have autocommit enabled, his/hers changes will be committed when you execute your script, even if he/she isn't finished or doesn't want to commit.
Turn on autocommit or commit your changes, see: My data disappeared!
If you (also) experience a problem with executing multiple INSERT statements not getting stored to the database, have a look at my answer to pymysql callproc() appears to affect subsequent selects
However, a little later I found out that my problem was that the exit() was exectued too fast. So, I added a time.sleep(3) before calling exit() - it worked!
import time
time.sleep(3)
cur.close()
conn.close()
time.sleep(3)
exit()
Update: Again, the story has not yet ended … I experienced a similar error later in my script when selecting from the database and not retrieving any results. This doesn't seem related to the mentioned time.sleep(x) behaviour.