1
votes

Obtenir une ligne entière à l'aide de la fonction d'exécution du package de base de données

J'utilise le package databases dans mon application fastapi. databases a des fonctions d'exécution et de récupération, lorsque j'ai essayé de renvoyer des valeurs de colonne après avoir inséré ou mis à jour en utilisant execute, il ne renvoie que la première valeur, comment obtenir toutes les valeurs sans utiliser fetch ..

Ceci est ma requête

Table INSERT INTO (col1, col2, col3, col4) VALUES (val1, val2, val3, val4) RETURNING col1, col2;


0 commentaires

3 Réponses :


1
votes

Vous pouvez utiliser la méthode de requête ayant les paramètres offset = 0 et limit = None pour obtenir toutes les colonnes

from typing import Optional
limit: Optional[int] = None

Vous pouvez vous référer à ce lien pour en savoir plus: https://fastapi.tiangolo.com/tutorial/sql-databases/

si vous utilisez mypy, vous devez dire à l'interpréteur que la valeur limite peut être Aucune

 db.query({YOUR TABLE OBJECT}).offset(0).limit(None).all()


7 commentaires

J'utilise des requêtes brutes et je les transmets à la fonction d'exécution de la base de données et ne renvoie que la valeur col1, ..


Et qu'en est-il de la valeur col2? à cause de cela, il devrait renvoyer col1 et col2 INSERT INTO table (col1, col2, col3, col4) VALUES (val1, val2, val3, val4) RETURNING col1, col2 ;


ne renvoyant que la valeur col1, je ne sais pas ce qui se passe dans les autres colonnes


J'utilise la fonction d'exécution du package de bases de données, il prend la requête brute comme argument


Quel langage de serveur de base de données vous utilisez comme PostgreSQL, MySQL ou SQLite


en utilisant PostgresQL


puis l'instruction de retour n'affichera que le tuple qui a été inséré dans la table



1
votes

INSERT INTO table (col1, col2, col3, col4) VALUES (val1, val2, val3, val4) RETURNING (col1, col2);

vous pouvez utiliser cette requête pour obtenir toutes les colonnes


0 commentaires

0
votes

J'ai eu des problèmes avec ça aussi, c'était ma requête:

INSÉRER DANS les notes (texte, terminé) VALEURS (: texte,: terminé) RETURNING notes.id, notes.text, notes.completed

L'utilisation de database.execute (...) ne retournera que la première colonne.

Mais .. l'utilisation de database.fetch_one (...) insère les données et renvoie toutes les colonnes.

Espère que cela aide


0 commentaires