Трябва да извършите връзката след всяка заявка. Това задължава текущата транзакция и гарантира, че следващата (неявна) транзакция ще поеме промените, направени, докато предишната транзакция е била активна.
# Main loop
while True:
# SQL query
sql = "SELECT * FROM table"
# Read the database, store as a dictionary
mycursor = mydb.cursor(dictionary=True)
mycursor.execute(sql)
# Store data in rows
myresult = mycursor.fetchall()
# Transfer data into list
for row in myresult:
myList[int(row["rowID"])] = (row["a"], row["b"], row["c"])
print(myList[int(row["rowID"])])
# Commit !
mydb.commit()
print("---")
sleep (0.1)
Концепцията тук е нива на изолация. От документите (подчертавам моя):