Задать вопрос
@Corelus

Из-за чего повторный запрос к БД может возвращать предыдущий результат?

Использую MySQL 5.6 и Python 3.4.
Имеется таблица 'test' в MySQL, куда периодически импортятся новые строки из другой БД.
Выполняю запрос к 'test' для получения последней записи:
import mysql.connector
conn = mysql.connector.connect(host='localhost',database='db_test',user='admin',password='1234')
c = conn.cursor()
c.execute('SELECT * FROM test ORDER BY id_num DESC limit 1')
c.fetchall()

Получаю некий результат. После этого (когда в таблицу заимпортилось n-ое количество строк), повторно выполняю аналогичный запрос:
c.execute('SELECT * FROM test ORDER BY id_num DESC limit 1')
c.fetchall()

Но в ответ вместо нового значения получаю предыдущее.
Аналогичная конструкция работала в SQLite. Как это можно побороть в MySQL?
  • Вопрос задан
  • 252 просмотра
Подписаться 2 Оценить 6 комментариев
Пригласить эксперта
Ответы на вопрос 3
Массив не стёрли может старый и там опять постится его первое значение (предыдущее)
Ответ написан
Комментировать
martin74ua
@martin74ua Куратор тега MySQL
Linux administrator
вы выбираете отсортированные значения. Значит после добавления новой пачки записи порядок записей не изменился.
Ответ написан
@bitaz
Попробуйте после c.execute c.commit()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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