Czy to właściwa składnia postgresql dodać kolumnę do tabeli z domyślnej wartości false
PostgreSQL - logiczną dodać kolumnę do tabeli zamieszczonej domyślnie
ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'
dzięki!
Czy to właściwa składnia postgresql dodać kolumnę do tabeli z domyślnej wartości false
PostgreSQL - logiczną dodać kolumnę do tabeli zamieszczonej domyślnie
ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'
dzięki!
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN DEFAULT FALSE;
można również bezpośrednio określić NOT NULL
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN NOT NULL DEFAULT FALSE;
Jak Craig wspomniano na wypełnionych tabel Jest bardziej wydajny podzielić ją na kroki:
ALTER TABLE users ADD COLUMN priv_user BOOLEAN;
UPDATE users SET priv_user = 'f';
ALTER TABLE users ALTER COLUMN priv_user SET NOT NULL;
ALTER TABLE users ALTER COLUMN priv_user SET DEFAULT FALSE;
Pamiętaj, że jeśli Twój stół jest duży, może to zająć dużo czasu i zablokować tabelę przez cały czas. Szybciej jest podzielić go na kroki: dodaj kolumnę bez wartości domyślnej za pomocą 'ALTER TABLE users ADD COLUMN private_user BOOLEAN;', następnie 'UPDATE users SET priv_user = 'f';' i wreszcie, jeśli potrzebujesz 'ALTER TABLE users ALTER COLUMN priv_user SET NOT NULL; '. –
Podejście podzielone na etapy nie dodaje wartości domyślnej. Czy jest jeszcze szybciej dodać "DEFAULT" f "" w oddzielnym kroku? –
Tak, dodawanie wartości domyślnej w oddzielnym kroku jest tylko operacją z metadanymi i dlatego jest bardzo szybkie. – Eelke
Jeśli chcesz rzeczywistą kolumnę logiczną:
ALTER TABLE users ADD "priv_user" boolean DEFAULT false;
Uwaga: nie wszystkie wersje Postgresa obsługują tę definicję w jednym wierszu. –
I Jeśli używasz postgresql to musisz użyć typu BOOLEAN jako małe litery jako boolean.
Użytkownicy ALTER TABLE DODAJ "priv_user" boolean DEFAULT false;
Tak na przyszłość, jeśli już mieć kolumnę logiczną i chcesz po prostu dodać domyślne zrobić:
ALTER TABLE users
ALTER COLUMN priv_user SET DEFAULT false;
W psql zmiany składni kwerendy kolumna jak ten
Alter table users add column priv_user boolean default false ;
wartość boolowska (true-false) zapisać w DB jak (tf) wartości.
Czy chcesz kolumny nieco lub rzeczywistą kolumnę 'boolean'? – rfusca