Questions marquées «upsert»

UPSERT: SQL-UPDATE une ligne, ou si non trouvé INSERT une nouvelle ligne.

3
Méthode idiomatique d'implémenter UPSERT dans PostgreSQL
J'ai lu différentes UPSERTimplémentations de PostgreSQL, mais toutes ces solutions sont relativement anciennes ou relativement exotiques (en utilisant le CTE inscriptible , par exemple). Et je ne suis tout simplement pas un expert en psql pour savoir immédiatement si ces solutions sont anciennes, car elles sont bien recommandées ou (bien, …


2
Comment obtenir l'ID de la ligne en conflit dans upsert?
J'ai un tableau tagavec 2 colonnes: id(uuid) et name(text). Je veux maintenant insérer une nouvelle balise dans la table, mais si la balise existe déjà, je veux simplement obtenir le idde l'enregistrement existant. J'ai supposé que je pouvais simplement l'utiliser ON CONFLICT DO NOTHINGen combinaison avec RETURNING "id": INSERT INTO …







2
PostgreSQL Upsert ne fonctionne pas sur la table partitionnée
Ayez une table comme celle-ci: CREATE TABLE aggregated_master ( "user" BIGINT, type TEXT, date TIMESTAMP, operations BIGINT, amount NUMERIC, PRIMARY KEY ( "user", type, date ) ); Cette table est le maître dont héritent de nombreuses partitions. Les partitions sont effectuées par MOIS dans le champ DATE. Par exemple: la …

1
Pourquoi CTE est-il ouvert aux mises à jour perdues?
Je ne comprends pas ce que Craig Ringer voulait dire quand il a commenté: Cette solution est sujette à des mises à jour perdues si la transaction d'insertion est annulée; il n'y a aucune vérification pour s'assurer que la MISE À JOUR a affecté toutes les lignes. sur https://stackoverflow.com/a/8702291/14731 . …
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.