sql >> Database teknologi >  >> RDS >> PostgreSQL

Refaktorer fremmednøgle til felter

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) :

  • 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.


  1. Sådan skjuler du resultatsæt-dekoration i Psql-output

  2. hvordan udføres et .sql-script på heroku?

  3. Tjek, om et Postgres JSON-array indeholder en streng

  4. NoSQL:liv uden et skema