skip to Main Content

I altered a table using the command

ALTER TABLE sys.system_property
ADD COLUMN IF NOT EXISTS description text;
COMMENT ON COLUMN sys.system_property.description IS 'description of property';

I then need to have a default value and set it no Not NULL so I did:

ALTER TABLE sys.system_property
ADD COLUMN IF NOT EXISTS description text NOT NULL DEFAULT 'Missing Description';
COMMENT ON COLUMN sys.system_property.description IS 'description of property';

I added the line NOT NULL DEFAULT 'Missing Description'; to make the column Not Null and have a DEFAULT VALUE but running this code didnt alter the table the code is skipped.

ALTER TABLE sys.system_property
ADD COLUMN IF NOT EXISTS description text NOT NULL DEFAULT 'Missing Description'
[2022-11-04 12:02:22] [42701] column "description" of relation "system_property" already exists, skipping

How to alter column ?

2

Answers


  1. The column already exists, so ADD is not appropriate. Use:

    alter table alter column set not null default 'Missing Description';`
    

    See documentation.

    Login or Signup to reply.
  2. ALTER TABLE sys.system_property 
       ALTER COLUMN price SET NOT NULL DEFAULT 'Missing Description';
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search