如何使用Python将NULL值插入PostgreSQL数据库?

时间:2018-09-18 16:32:08

标签: python python-3.x postgresql

我有一个元组列表,其中包含如下数据:

list1 = [(1100, 'abc', '{"1209": "Y", "1210": "Y"}'), (1100, 'abc', None)]

def insert_sample_data(col_val):
    cur = self.con.cursor()
    sql = """insert into sampletable values {}""".format(col_val)
    cur.execute(sql)
    self.con.commit()
    cur.close()

values1 = ', '.join(map(str, list1))  #bulk insert
insert_sample_data(values1)

表结构: ssid int,名称varchar,规则jsonb

当我尝试插入数据时,它抛出一个错误,提示“插入列“ none”不存在”。我们如何用'Null'或'None'将数据加载到表中?

我查看了此解决方案,但在这种情况下How to insert 'NULL' values into PostgreSQL database using Python?

并没有帮助

1 个答案:

答案 0 :(得分:1)

如@shmee所述,您需要使用类似 protected void btnSaveSchedule_Click(object sender, EventArgs eventArgs) { string scheduleName = sptext.Value; } 的东西并参数化值,而不是使用容易受到SQL注入攻击的https://docs.python.org/3/library/logging.html

我将修改您的代码,如下所示:

executemany