sql >> Databáze >  >> RDS >> PostgreSQL

Refaktorujte cizí klíč na pole

Zdá se, že jdeš špatným směrem. Vaše původní normalizované schéma je obvykle lepší. Pokud potřebujete zobrazit obchod / uživatele, vytvořte VIEW .

Ale můžete mít své důvody, takže zde:

UPDATE purchases p
SET   (shop, shop_user) = (s.name, s."user")
FROM   shop s
WHERE  s.id = p.shop_id;

Nepoužívejte vyhrazené slovo "user" jako identifikátor.
A „jméno“ je málokdy dobré jméno , buď.
A varchar(255) v Postgres obvykle označuje nedorozumění.

O varchar(255) :

  • Mám do sloupců VARCHAR přidat libovolný limit délky?
  • Nějaké nevýhody používání datového typu "text" pro ukládání řetězců?
  • Další podrobnosti v příručce.


  1. MariaDB a externí data

  2. SQL tečková notace

  3. Těšíme se na PGConf India 2017

  4. MySQL získá pozici řádku v ORDER BY