Du ser ud til at gå den forkerte vej. Dit originale, normaliserede skema er typisk overlegent. Hvis du har brug for at vise butik / bruger, skal du oprette en VIEW
.
Men du har måske dine grunde, så her kommer:
UPDATE purchases p
SET (shop, shop_user) = (s.name, s."user")
FROM shop s
WHERE s.id = p.shop_id;
Brug ikke det reserverede ord "user"
som identifikator.
Og "navn" er næppe nogensinde et godt navn , enten.
Og varchar(255)
i Postgres indikerer typisk en misforståelse.
Om varchar(255)
:
varchar(255)
- Skal jeg tilføje en vilkårlig længdegrænse til VARCHAR-kolonner?
- Er der nogen ulemper ved at bruge datatypen "tekst" til lagring af strenge?
- Flere detaljer i manualen.