【发布时间】:2020-04-07 11:17:29
【问题描述】:
我试图在 SQL 表中从 python 插入 None,但它作为字符串 'null' 插入
我正在使用下面的代码集。
query_update = f'''update table set Name = '{name}',Key = '{Key}' where Id = {id} '''
stmt.execute(query_update)
conn.commit()
我在 python 中获取变量“Key”的值,我试图在“Key”列中更新这些值。这两列是 nvarchar 列。
现在有时我们在变量'Key'中得到None值Null,如下所示
Key = '空'
因此,当我在 SQL 中插入上述值时,它会更新为字符串而不是 NULL,因为我在从 Python 更新时必须在脚本中添加引号。
任何人都可以在这里帮助我,如何避免在从 Python 的 SQL 中插入 Null 时插入字符串
【问题讨论】:
-
不要使用
f-strings(或任何其他字符串格式)来参数化 SQL 查询。这不安全。按照the docs 所示进行操作。并且在使用None时也能解决你的问题。 -
是的,同意,您的问题是引号以及您如何生成该字符串