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

Postgres tilføjer kolonne med oprindeligt beregnede værdier

Jeg opdagede en enkel måde! Det følgende tilføjer value3 kolonne med de ønskede startværdier:

ALTER TABLE numbers
ADD COLUMN value3 INTEGER; -- Exclude the NOT NULL constraint here

UPDATE numbers SET value3=value1+value2; -- Insert data with a regular UPDATE

ALTER TABLE numbers
ALTER COLUMN value3 SET NOT NULL; -- Now set the NOT NULL constraint

Denne metode er god, når postgres har en indbygget funktion til den beregning, du vil anvende på den nye kolonne. For eksempel. i dette tilfælde er den udregning, jeg ønsker, "sum", og postgres gør det via + operatør. Denne metode vil være mere kompleks for operationer, der ikke leveres af postgres.



  1. MySQL deaktiver og aktiver nøgler

  2. Er det muligt at sammenkæde strenge fra flere rækker og tabeller i en resultatkolonne?

  3. Postgresqls pg_dump og pg_restore på tværs af forskellige større versioner?

  4. Kontroller, om sqlalchemy-tabellen er tom