PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Refaktoryzuj klucz obcy do pól

Wydaje się, że idziesz w złym kierunku. Twój oryginalny, znormalizowany schemat jest zazwyczaj lepszy. Jeśli chcesz wyświetlić sklep / użytkownika, utwórz VIEW .

Ale możesz mieć swoje powody, więc oto idzie:

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

Nie używaj zastrzeżonego słowa "user" jako identyfikator.
A „imię” rzadko kiedy jest dobrym imieniem .
I varchar(255) w Postgresie zazwyczaj oznacza nieporozumienie.

O varchar(255) :

  • Czy powinienem dodać dowolny limit długości do kolumn VARCHAR?
  • Jakieś wady używania typu danych „tekst” do przechowywania ciągów?
  • Więcej szczegółów w instrukcji.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić kolumnę PG na NULLABLE TRUE?

  2. Jak działa Extract() w PostgreSQL

  3. Przegląd generowanych kolumn dla PostgreSQL

  4. Wyświetl wszystkie tabele w postgresql information_schema

  5. postgresql:typ danych dla skrótu wiadomości md5?