首页 > 解决方案 > 如何使用 python 在 SQL nvarchar 列中插入 NULL 值

问题描述

我正在尝试在 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,如下所示

键='空'

因此,当我在 SQL 中插入上述值时,它会更新为字符串而不是 NULL,因为我在从 Python 更新时必须在脚本中添加引号。

任何人都可以在这里帮助我,如何避免在从 Python 的 SQL 中插入 Null 时插入字符串

标签: pythonsqlpyodbc

解决方案


您的Null值实际上是一个字符串而不是“真正的”空值的问题。如果你想插入 Null,你的 key 应该等于None.

您可以将其转换如下: Key = Key if Key != 'Null' else None


推荐阅读