Ich habe Probleme, meine SQLite-Abfrage auf der Grundlage von 2 Eingaben zu meiner Flasche Route ordnungsgemäß ausgeführt werden.SQLite/Flask - "Keine solche Spalte x" - Übergeben von 2 Variablen an Flask Route
In meiner Flask app-Datei, habe ich folgendes:
@app.route('/daily/<int:number>/<weekday>')
def get_hourly_info(number, weekday):
con=get_db()
cur=con.cursor()
cur.execute("SELECT AVG(value_x), time FROM tableName \
WHERE id = {} AND day = {} GROUP BY time".format(number, weekday))
data=cur.fetchall()
return json.dumps(data)
Meine Datenbank-Datei hat Spalten: Zeit, value_x, id, Tag, value_y, value_z. Ich kann die obige Abfrage perfekt in SQLiteBrowser ausführen, und es gibt die erwarteten Daten zurück. Aber wenn ich versuche es aber via URL zuzugreifen, erhalte ich folgende Fehlermeldung:
sqlite3.OperationalError: no such column: Tuesday
Wo Dienstag, den Wert in die URL übergeben wird (eg.xxx.xxx:5000/daily/70/Tuesday)
Gibt es hier offensichtliche Fehler? Oder gibt es einen besseren Weg?
Es gibt keinen Fall, wo ich nur eine der Variablen (Nummer und Wochentag) benötigen, sie werden immer zusammen verwendet.
Der Fehler, den es mir gibt, scheint seltsam, wenn die Abfrage in SQLiteBrowser funktioniert.
Verwenden Sie geeignete SQL Bind-Variablen! Verwenden Sie niemals .format() !! – reptilicus
Ja, das sehe ich jetzt. Danke für deinen Beitrag! – Shinkawa91