ce problème simple m'a étonné et alors que je m'attends à ce que ce soit une solution facile, je n'ai pas été en mesure de trouver le changement nécessaire. Ce que j'essaye d'accomplir est de construire une table DB simple qui contient la précipitation d'hier de weatherundergroud. Je suis capable d'analyser les données json nécessaires mais lorsque je tente d'ajouter un horodatage à l'entrée DB, je ne parviens pas à remplir la base de données. Je suis en mesure d'utiliser cette syntaxe avec une seule variable et la modification de base de données pertinente, mais pas avec 2 variables en plus de l'horodatage. Voici une version simplifiée du code:SQLite - erreur "sqlite3.OperationalError: near", ": erreur de syntaxe"
conn = sqlite3.connect('precip.sqlite3')
curs = conn.cursor()
curs.execute('''
CREATE TABLE IF NOT EXISTS Precip
(timestamp DATETIME, date TEXT, precip TEXT)''')
date = js["history"]["date"]["pretty"]
precip = js["history"]["dailysummary"][0]["precipm"]
print "date:", date, "precipitation", precip, "mm"
curs.execute("INSERT INTO Precip values(datetime('now'),(?, ?))",(date, precip,))
conn.commit()
qui échoue avec cette erreur: curs.execute ("INSERT INTO valeurs Precip (datetime ('maintenant'), (?,))?", (Date , precip,)) sqlite3.OperationalError: près "": erreur de syntaxe
'INSERT INTO valeurs Precip (? Datetime ('maintenant'),,)" 'a plus de sens pour moi – Evert
Merci, je l'ai résolu bien que je ne sache pas pourquoi le groupe de parenthèses supplémentaire provoque l'erreur – Jake
Je suppose que les parenthèses regroupent les deux entrées à l'intérieur d'une seule entrée, donc vous n'insérez que deux entrées dans la table, le second étant un composite. – Evert