Sqlite3 обновляет таблицу со всеми строками новыми данными - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь обновить таблицу новыми значениями для каждой записи в таблице.

У меня есть скрипт обновления, показанный ниже, который я хочу обновить все данные в конкретной таблице, в настоящее время всестроки заменяются копией 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, любая помощь будет принята с благодарностью:)

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...