Si une ligne n'existe pas insérer d'autre ne l'insérez pas dans postgres
J'ai besoin de vérifier si une ligne existe ou pas. Si elle n'existe pas, il doit être inséré.
C'est dans postgres
et j'essaie d'insérer une ligne par le biais d'un script shell. Lorsque je lance le script, il n'affiche pas d'erreur mais il n'a pas d'insérer dans la table, même si aucune ligne correspondante est présente.
Merci de poster le script que vous utilisez et le relevé de compte que vous utilisez pour tester si il n'y a "pas de ligne correspondante".
Voir ce lien stackoverflow.com/questions/4555966/...
si vous pouvez utiliser Ruby comme langage de script, vous pouvez essayer de
Je suis bouleversé (à ne pas confondre avec upsert) que beaucoup d'entre vous ont pas tenu compte de la distinction entre insérez-si-pas-existe (posée par cette question) et upsert (demandé par le tort marqué en double question).
Ce n'est pas un doublon de la question; ses réponses ne sont pas exactement applicable ici. Il peut être un doublon de une autre question.
Voir ce lien stackoverflow.com/questions/4555966/...
si vous pouvez utiliser Ruby comme langage de script, vous pouvez essayer de
Upsert
Je suis bouleversé (à ne pas confondre avec upsert) que beaucoup d'entre vous ont pas tenu compte de la distinction entre insérez-si-pas-existe (posée par cette question) et upsert (demandé par le tort marqué en double question).
Ce n'est pas un doublon de la question; ses réponses ne sont pas exactement applicable ici. Il peut être un doublon de une autre question.
OriginalL'auteur JumpOffBox | 2013-03-04
Vous devez vous connecter pour publier un commentaire.
J'aime la solution qu'ils mentionnent ici
Postgres possède également un Upsert de commande où vous pouvez insérer OU mettre à jour une ligne: wiki.postgresql.org/wiki/UPSERT
Sur 9,5+,
INSERT ... ON CONFLICT DO NOTHING
ouINSERT ... ON CONFLICT UPDATE
stackoverflow.com/a/17267423/1386245OriginalL'auteur Andres Olarte