@ilezovofficial

Почему скрипт не понимает, что данные в MySql изменились?

Здравствуйте, у меня есть два кода, но для примера написал самый простой. Есть два файла, в одном бесконечный цикл, во втором просто строка, которая обновляет данные. Вот код:
from database import db,c


c.execute("UPDATE designbase SET flag = 1 WHERE id = '501285409'")
db.commit()


И второй:

from database import db, c
import time

while True:
    c.execute("SELECT flag FROM designbase WHERE id = 501285409")
    print(c.fetchall())
    time.sleep(5)


Так вот, после того как я изменяю данные в таблице, код с циклом выводит старое значение. Как исрпавить?
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
@ilezovofficial Автор вопроса
Решение проблемы: В MySql после SELECT нужно использовать COMMIT; Я так сделал и у меня все получилось
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Первым делом надо доказать отсутсвие глупых ошибок. Типа вместо продуктовой БД пошел в тестовую.

Сделай этот-же запрос из mysql консоли

mysql> SELECT flag FROM designbase WHERE id = 501285409


И попробуй для 2 исходника включить автокоммит как тут пишут https://mariadb.com/kb/en/mysql_autocommit/
Ответ написан
@rPman
код, который обновляет данные случайно не начал транзакцию и не завершил ее?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы