Я пытаюсь обновить таблицу новыми значениями для каждой записи в таблице.
У меня есть скрипт обновления, показанный ниже, который я хочу обновить все данные в конкретной таблице, в настоящее время всестроки заменяются копией 1 записи.(показано ниже)
apList = []
for ap in unifi3.get_aps():
apList.append(ap)
def update_ap(conn,ap):
sql = ''' UPDATE aps_york
SET name = ?,
users = ?,
uptime = ?,
tx_bytes = ?,
rx_bytes = ?
'''
cur = conn.cursor()
cur.execute(sql,ap)
conn.commit()
def create_connection(db_file):
try:
conn = sqlite3.connect(db_file)
return conn
except Error as e:
print e
return None
def main():
database = "stormunifi.db"
conn = create_connection(database)
for ap in apList:
row = (ap.get('name'),ap.get('guest-num_sta'),ap.get('uptime'),ap.get('tx_bytes'),ap.get('rx_bytes'))
update_ap(conn,row)
if __name__ == '__main__':
main()
Ниже показано, что я имею, когда вставляю сначала, и это то, что я хочу обновлять новыми данными каждый раз, когда запускаю свой скрипт обновления выше.
Bus 2 - 1391 LTE|1|3526|29737463457|3055529220
Bus 5 - 1393 LTE|8|13682|25377934110|2597146741
Bus 1 - 1394 LTE|0||15240277899|1405514618
Bus 3 - 1395 LTE|1|7777|4096583815|737691175
Bus 4 - 1392 LTE|0||1173064193|96554145
Ниже описывается, что происходит, когда я запускаю сценарий обновления, показанный выше.
Bus 4 - 1392 LTE|0||1173064193|96554145
Bus 4 - 1392 LTE|0||1173064193|96554145
Bus 4 - 1392 LTE|0||1173064193|96554145
Bus 4 - 1392 LTE|0||1173064193|96554145
Bus 4 - 1392 LTE|0||1173064193|96554145
Я не уверен, почему он заменяет все строки только одной из записей.Я новичок в SQL и Python, любая помощь будет принята с благодарностью:)
Спасибо!