Est-ce que cette syntaxe postgresql convient pour ajouter une colonne à une table avec la valeur par défaut de false
ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'
Merci!
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN DEFAULT FALSE;
vous pouvez aussi spécifier directement NOT NULL
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN NOT NULL DEFAULT FALSE;
UPDATE: ce qui suit n’est vrai que pour les versions antérieures à postgresql 11.
Comme Craig l'a mentionné sur les tables remplies, il est plus efficace de le scinder en étapes:
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;
Si vous voulez une colonne booléenne réelle:
ALTER TABLE users ADD "priv_user" boolean DEFAULT false;
Juste pour référence future, si vous déjà avez une colonne booléenne et que vous voulez juste ajouter un do par défaut:
ALTER TABLE users
ALTER COLUMN priv_user SET DEFAULT false;
Si vous utilisez postgresql, vous devez utiliser le type de colonne BOOLEAN en minuscule comme booléen.
ALTER TABLE utilisateurs ADD "priv_user" boolean DEFAULT false;
Dans psql, modifiez la syntaxe de requête de colonne comme ceci
Alter table users add column priv_user boolean default false ;
valeur booléenne (true-false) enregistrer dans le DB comme (t-f) valeur.