首页 > 解决方案 > 在 PostgreSQL 11 的整数类型列中存储空值或空白

问题描述

我通过我的 python 脚本在 PostgreSQL 11.0 表中插入值。有一个列类型“整数”。如果该列没有值,我想填充 null 。

drop table if exists tbl;
create table tbl (
        id character varying,
        enr_val integer,
        enr_type character varying
    )
        if re.match('^\d+ \[.*\]', enr):
            enr_val = re.search(r"(.*) \[.*", enr).group(1)
            enr_type = re.search(r".* \[(.*)\]", enr).group(1)
        elif re.match('\d+$', enr):
            enr_val = re.search(r"(.*)", enr).group(1)
            enr_type = 'null'
        else:
            enr_val = 'null'
            enr_type = 'null' 

当 else 条件为真时,如何插入 null?

标签: pythonpostgresql

解决方案


PythonNone将在数据库中产生一个Null

if re.match('^\d+ \[.*\]', enr):
    enr_val = re.search(r"(.*) \[.*", enr).group(1)
    enr_type = re.search(r".* \[(.*)\]", enr).group(1)
elif re.match('\d+$', enr):
    enr_val = re.search(r"(.*)", enr).group(1)
    enr_type = None
else:
    enr_val = None
    enr_type = None 

推荐阅读