Я хочу сделать скрипт на python, который последовательно проверяет базу данных Mysql.
Возникающая проблема заключается в том, что в первый раз проверяется, что нет данных, которые он постоянно говорит, что в базе данных нет данных, даже после того, как я добавляю данные в базу данных.
Но если данные уже есть в базе данных, я немедленно извлекаю их и продолжаю.
Что я могу сделать, чтобы мой скрипт на python последовательно проверял базу данных, и если он находит данные, он останавливает проверку базы данных и продолжает
Я попытался запустить его, когда в базе данных нет данных, а затем добавил данные в базу данных
import mysql.connector
mydb = mysql.connector.connect(
host='localhost',
user='root',
passwd='',
database='local_data'
)
mycursor = mydb.cursor()
node_id = 123
node_id = str(node_id)
print('getting code...')
a = 0
while True:
try:
time.sleep(1)
a=a+1
print(a)
sql = "SELECT code_name FROM node_code where node_id = '"+node_id +"'"
mycursor.execute(sql)
myresult = mycursor.fetchone()
for x in myresult:
filename=x
print(filename)
break
except Exception as error:
print("Nothing in database\n")
print(error)
Я ожидаю вывода, где он продолжает проверять базу данных, пока не найдет данные, после чего он продолжает
Я получаю эти результаты. К моменту запуска второго цикла данные были вставлены в базу данных
getting code...
1
Nothing in database
'NoneType' object is not iterable
2
Nothing in database
'NoneType' object is not iterable
3
Nothing in database
Если данные уже есть в базе данных до запуска скрипта, я получаю это
getting code...
1
server.py