J'essaie d'insérer des données de mon robot dans ma dB sans dupliquer.
Cependant, p>
SQLite3.OPERATIONROR: Près de "Où": Erreur de syntaxe forte> < / p> ci-dessus est mon code à insérer. Je suis sûr qu'il y a un problème près de "où" mais je ne pouvais pas la déboguer. P> p>
3 Réponses :
Je pense que c'est
essayez d'ajouter Ignore code>
:
c.execute('INSERT IGNORE INTO stocks(stocknum) values (?) where not exists(select * from stocks)',(stock_num,))
Si je vous ai suivi correctement, vous souhaitez insérer des valeurs qui n'existent pas encore dans la colonne Votre problème immédiat est que votre requête n'est pas valide SQLITE Syntaxe. Vous ne pouvez pas utiliser les valeurs stocknum code>.
() code> avec un
où la clause code>, vous auriez besoin de
Sélectionner code> à la place: p>
insert into stocks(stocknum)
values (?)
on conflict(stocknum) do nothing