Yaho Hier können Sie Fälle notieren, die beim Spielen von SQLite DB über Python nicht mehr spielbar sind
Es gibt "?" Und ":" Payan. Es wird verwendet, wenn nur Informationen zu einer bestimmten Spalte vorhanden sind. (Ich möchte nicht alle Spalten einzeln angeben.)
query = ('INSERT INTO table (columnA) VALUES (:columnA)')
cursor.execute(query, {'columnA':'hogehoge'})
Irgendwie habe ich es irgendwo gesehen wie ~~ : =
~~ ** =:
** ...
Wenn Sie dies verwenden, können Sie dies unabhängig von den von den Parametern übergebenen Inhalten und der Reihenfolge tun?
query = ('INSERT INTO table (columnA, columnB) VALUES (columnA=:hogeA, columnB=:hogeB)')
cursor.execute(query, {'hogeB':'hogehoge'.'hogeA':'hogege'})
Nachtrag Dies ist eine Lösung, die mir nur durch Ersetzen des Parameters
:
aufgefallen ist (zusätzlicher Hinweis: möglicherweise nicht möglich)
Crane & to.> Verwenden von SQLite3 mit Python3 - Mit Beispielcode von der Grundoperation bis zur Fehlerbehandlung Python-Typ stack overflow > sqlite-parameter-substitution-problem
Wenn in einer bestimmten Spalte ein Feld mit demselben Inhalt vorhanden ist, vermeiden Sie durch Drücken nur die ID-Abdeckung
INSERT INTO table (id, content) SELECT IFNULL(MAX(id), 0) + 1, content="hogegenoge" FROM table WHERE content
Recommended Posts