Jak zmienić domyślną wartość kolumny w PostgreSQL?

126

Jak zmienić domyślną wartość kolumny w PostgreSQL?

Próbowałem:

ALTER TABLE ONLY users ALTER COLUMN lang DEFAULT 'en_GB';

Ale dał mi błąd:

ERROR: syntax error at or near "DEFAULT"
Srebrne światło
źródło

Odpowiedzi:

243

„ZESTAW” jest zapomniany

ALTER TABLE ONLY users ALTER COLUMN lang SET DEFAULT 'en_GB';
Srebrne światło
źródło
13
Do czego ONLYsłuży przed nazwą tabeli?
Nik Sumeiko
20
„Jeśli przed nazwą tabeli podano TYLKO, tylko ta tabela jest zmieniana. Jeśli nie podano TYLKO tabeli, zmieniana jest tabela i wszystkie jej tabele podrzędne (jeśli istnieją)” postgresql.org/docs/9.3/static/sql-altertable. html
Yodan Tauber,
80

Jeśli chcesz usunąć domyślne ograniczenie wartości, możesz wykonać:

ALTER TABLE <table> ALTER COLUMN <column> DROP DEFAULT;
Salvador Dali
źródło