Я пытаюсь создать автоматизированный отчет. Большая часть данных просматривается в Интернете перед началом моей смены. Затем программа входит в цикл, где она проверяет данные каждые пять минут, используя функцию, представленную ниже. Существует один набор данных, который мне не удалось очистить, поэтому я настроил книгу Excel, в которую я могу вставить данные, чтобы затем вставить данные в свою базу данных.
С помощью запроса cli SELECT * FROM TableName
он вернул 5160 rows in set (0.089 sec)
в то время, когда программа python получала пустой список.
def checkData():
try:
db.c.execute('SELECT * FROM TableName')
except mariadb.Error as error:
printc(f"Error: {error}")
data = db.c.fetchall()
rcount = db.c.rowcount
logging.debug(f'No data found: {data} num rows: {rcount}')
print(data)
if len(data)>0:
return True
else:
return False
Регистрация выходных данных
2019-06-28 09:00:20,817 - DEBUG - No data found: [] num rows: 0
Когда я выполняю только функцию checkData, она возвращает True, если есть данные. Ранее в программе есть оператор db.c.execute('DELETE FROM TableName')
. Возможно ли, что база данных кеширует старые ответы, и какой лучший способ заставить ее сообщить мне, когда она больше не пуста?
Дополнительная информация:
Включить заявление
import mysql.connector as mariadb
дБ является объектом
class DatabaseConnection():
def __init__(self):
self.url = 'host'
self.passwd = 'password'
self.db_conn = mariadb.connect(user='user', password=self.passwd, host=self.url, database='DatabaseName')
self.c = self.db_conn.cursor()