Как я получаю новые данные из базы данных, пока программа работает с использованием Python без обновления моей программы - PullRequest
0 голосов
/ 03 мая 2019

Я хочу получить вновь добавленные данные из моей базы данных во время работы программы без обновления программы с помощью python ... Как я могу это сделать ??

import mysql.connector

mydb = mysql.connector.connect(
    host ="localhost",
    user = "root",
    password = "",
    database = "databasename"
)

mycursor = mydb.cursor()

def fetchdata():
        mycursor.execute("SELECT * FROM tablename")
        myresult = mycursor.fetchall()
        for data in myresult:
            u_id = data[0]
            username = data[1]
            email = data[2]
            password = data[3]
            print(f"{u_id},{username},{email},{password}")

if __name__ == '__main__':
    while True: # for fetching data again again and again
        fetchdata()

1 Ответ

0 голосов
/ 03 мая 2019

Если у вас есть столбец метки времени в вашей таблице (если нет, то вы должны добавить его), вы можете сохранить его в переменной и извлечь данные, добавленные после этого момента времени.

Позвольте сказать, что до вашей первой выборки выиметь в вашей таблице следующее

в вашем коде измените ваш запрос на

mycursor.execute(f"SELECT * FROM tablename WHERE loaded_at > '{max_loaded_at}'")

Это даст вам новые строки для идентификаторов 4 и 5

Не забудьте инициализировать вашу переменную на время раньше, чем ваш minдата, что-то вроде

max_loaded_at = '2001-01-01'
...