Yaho Où noter les cas qui ne sont plus jouables lors de la lecture de sqlite db via python
Il y a «?» Et «:« payan. Il est utilisé lorsqu'il n'y a que des informations sur une colonne spécifique. (Je ne veux pas spécifier toutes les colonnes une par une)
query = ('INSERT INTO table (columnA) VALUES (:columnA)')
cursor.execute(query, {'columnA':'hogehoge'})
D'une manière ou d'une autre, je l'ai vu quelque part comme ~~ : =
~~ ** =:
** ...
Si vous l'utilisez, pouvez-vous le faire quel que soit le contenu passé par les paramètres et la commande?
query = ('INSERT INTO table (columnA, columnB) VALUES (columnA=:hogeA, columnB=:hogeB)')
cursor.execute(query, {'hogeB':'hogehoge'.'hogeA':'hogege'})
Addendum C'est une solution que j'ai remarquée juste en remplaçant le paramètre de
:
(Note supplémentaire: peut ne pas être fait)
Crane & to.> Utilisation de SQLite3 avec Python3 - Avec un exemple de code de l'opération de base à la gestion des erreurs Responsable officiel de Python stack overflow > sqlite-parameter-substitution-problem
Si un champ avec le même contenu existe dans une colonne spécifique, évitez uniquement la couverture d'identité en appuyant sur
INSERT INTO table (id, content) SELECT IFNULL(MAX(id), 0) + 1, content="hogegenoge" FROM table WHERE content
Recommended Posts