Vous semblez aller dans le mauvais sens. Votre schéma original et normalisé est généralement supérieur. Si vous avez besoin d'afficher la boutique / l'utilisateur, créez une VIEW
.
Mais vous pouvez avoir vos raisons, alors voici :
UPDATE purchases p
SET (shop, shop_user) = (s.name, s."user")
FROM shop s
WHERE s.id = p.shop_id;
N'utilisez pas le mot réservé "user"
comme identifiant.
Et "nom" n'est presque jamais un bon nom , soit.
Et varchar(255)
dans Postgres indique généralement un malentendu.
À propos de varchar(255)
:
varchar(255)
- Dois-je ajouter une limite de longueur arbitraire aux colonnes VARCHAR ?
- Y a-t-il des inconvénients à utiliser le type de données "texte" pour stocker des chaînes ?
- Plus de détails dans le manuel.