如何在创建列时设置默认空值?表workflow_job_template_id
是INTEGER类型,默认为空。
为什么其他表有DEFAULT NOT NULL
却没有值?我希望新列不是NULL,而是默认值为空。
ALTER TABLE main_workflowjobnode
ADD COLUMN "workflow_job_template_id" INTEGER NOT NULL DEFAULT='';
ERROR: syntax error at or near "="
LINE 2: ...LUMN "workflow_job_template_id" INTEGER NOT NULL DEFAULT='';
表结构如下:
Table "public.main_workflowjobnode"
Column | Type | Collation | Nullable | Default | Storage | Stats target | Description
---------------------------+--------------------------+-----------+----------+--------------------------------------------------+----------+--------------+-------------
id | integer | | not null | nextval('main_workflowjobnode_id_seq'::regclass) | plain | |
created | timestamp with time zone | | not null | | plain | |
modified | timestamp with time zone | | not null | | plain | |
job_id | integer | | | | plain | |
unified_job_template_id | integer | | | | plain | |
workflow_job_id | integer | | | | plain | |
char_prompts | text | | not null | | extended | |
inventory_id | integer | | | | plain | |
ancestor_artifacts | text | | not null | | extended | |
extra_data | text | | not null | | extended | |
survey_passwords | text | | not null | | extended | |
do_not_run | boolean | | not null | | plain | |
all_parents_must_converge | boolean | | not null | | plain | |
identifier | character varying(512) | | not null | | extended | |
尝试删除not null条件并将其默认设置为null
我建议只使用NULL
值来表示"缺失"。在你的workflow_job_template_id
列。NULL
在语义上是"未知"的意思。在SQL语言。您当前尝试做的事情甚至是无效的:
ALTER TABLE main_workflowjobnode
ADD COLUMN "workflow_job_template_id" INTEGER NOT NULL DEFAULT = '';
这是无效的,因为整数列不能存储字符串(包括空字符串)作为值。