Ist die richtige postgresql Syntax eine Spalte in eine Tabelle mit einem Standardwert von false
postgresql - füge boolean Spalt Tabellensatz Standard
ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'
Dank hinzuzufügen!
Ist die richtige postgresql Syntax eine Spalte in eine Tabelle mit einem Standardwert von false
postgresql - füge boolean Spalt Tabellensatz Standard
ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'
Dank hinzuzufügen!
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN DEFAULT FALSE;
können Sie auch nicht direkt angeben NULL
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN NOT NULL DEFAULT FALSE;
Wie Craig gefüllt Tabellen erwähnt auf es effizienter ist es aufgeteilt in Schritte:
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;
Beachten Sie, dass es bei einem großen Tisch sehr lange dauern kann, bis die Tabelle für die gesamte Zeit gesperrt ist. Es ist schneller, sie in Schritte aufzuteilen: Fügen Sie die Spalte ohne einen Standardwert mit 'ALTER TABLE-Benutzer HINZUFÜGEN von COLUMN priv_user BOOLEAN;', dann 'UPDATE Benutzer SET priv_user = 'f';' und schließlich, wenn Sie ALTER TABLE Benutzer ALTER COLUMN benötigen priv_user SET NOT NULL; '. –
Der Ansatz, der in Schritte unterteilt ist, fügt keinen Standardwert hinzu. Ist es noch schneller, ein "DEFAULT 'f'" in einem separaten Schritt hinzuzufügen? –
Das Hinzufügen des Standards in einem separaten Schritt ist nur eine Metadatenoperation und somit sehr schnell. – Eelke
Wenn Sie eine tatsächliche boolean Spalte:
ALTER TABLE users ADD "priv_user" boolean DEFAULT false;
Hinweis: Nicht alle Versionen von Postgres unterstützen dies in einer Zeile definiert. –
I Wenn Sie postgresql verwenden, müssen Sie den Spaltentyp BOOLEAN in Kleinbuchstaben als boolesch verwenden.
ALTER TABLE Benutzer ADD "priv_user" boolean DEFAULT false;
nur für die Zukunft, wenn Sie bereits eine boolean Spalte haben, und Sie wollen einfach nur eine Standard hinzufügen tun:
ALTER TABLE users
ALTER COLUMN priv_user SET DEFAULT false;
In psql Spalte Abfragesyntax wie diese
Alter table users add column priv_user boolean default false ;
ändern boolscher Wert (true-false) Speichern in DB wie (tf) Wert.
Möchten Sie eine Bitspalte oder eine tatsächliche 'boolean'-Spalte? – rfusca