1
我在更新python循環中的sqlite3
行時遇到問題。我試圖遍歷每一行,並更新一個特定的列。從該查詢...'where currency_name = ' + row[0]
在我的代碼SQLITE3錯誤列名的WHERE語句
sqlite3.OperationalError: no such column: row[0] (value of it)
:
不過,我得到這個錯誤。
我認爲這是我做錯了語法的事情?我已經嘗試將它分解成子語句,但那也沒有奏效。我的代碼如下。
import sqlite3
import requests
conn = sqlite3.connect('cryptoindex-holdings.db')
cursor = conn.cursor()
for row in conn.execute('SELECT * FROM currency'):
r = requests.get('https://api.coinmarketcap.com/v1/ticker/' + row[0] + '/?convert=CAD')
r = r.json()
market_cap = r[0]['market_cap_cad']
sql = "UPDATE currency SET market_cap = " + market_cap + " WHERE currency_name = " + row[0]
cursor.execute(sql)
conn.commit()
和我的DB模式是:
currency (
currency_name TEXT,
market_cap REAL,
coin_price REAL,
coins_owned REAL
);
謝謝你抽出時間。現在我知道閱讀關於字符串轉義:) – BGroat