Я извлекаю данные из базы данных в скрипте Python, который работает при запуске, но не обновляется, когда я изменяю значение в базе данных.
Скрипт сначала подключается к базе данных, затем выбирает все содержимоегде id равен 1 (это число столбцов, которые я собираюсь использовать)
Затем обновляется глобальная переменная garageHeating с содержимым из столбца garage, допустим, что при запуске он равен 0.
Цикл while выводит эту переменную, которая при запуске будет 0
Если я изменю гараж столбцов в базе данных на 10, сценарий python останется равным 0. Он не обновляется.глобальная переменная, которая, как я думал, должна делать
, мой скрипт ниже
import mysql.connector as mariadb
mariadb_connection = mariadb.connect(
host="localhost",
user="garage",
passwd="*******",
database="mydb"
)
cursor = mariadb_connection.cursor()
garageHeating = 0
def readDbHeating():
global garageHeating
result = []
try:
cursor.execute ("SELECT * FROM heating WHERE id = '1'")
for reading in cursor.fetchall():
result.append (reading)
garageHeating = result[0][8]
except () as e:
print (e)
while 1:
readDbHeating()
print garageHeating
Я отредактировал приведенный выше код, чтобы показать глобальную переменную вне функции, а также распечататьрезультат в команде try.Я все еще получаю ту же проблему после первого извлечения данных из базы данных, сценарий продолжает отображать данные первого набора, но не обновляется до новых данных, если я изменяю записи базы данных.
import mysql.connector as mariadb
mariadb_connection = mariadb.connect(
host="localhost",
user="garage",
passwd="14Odiham",
database="mydb"
)
cursor = mariadb_connection.cursor()
global garageHeating
def readDbHeating():
result = []
try:
cursor.execute ("SELECT * FROM heating WHERE id = '1'")
for reading in cursor.fetchall():
result.append (reading)
garageHeating = result[0][8]
print garageHeating
print result
except () as e:
print (e)
while 1:
readDbHeating()
#print garageHeating