首页 > 解决方案 > UPDATE语句pyodbc在sql server中设置NULL值(而不是None)

问题描述

我有要更新数据库中某些条目的代码。一些属性可以有一个NULL值。

让我们看看以下情况:

new_doc_name = doc_name (can be None or string value)

sql = UPDATE Documents SET DocName = new_doc_name WHERE DocID = doc_id
cursor.execute(sql);
cursor.commit()

当 new_doc_name 为None时,数据库中的值设置为None,但我希望将其设置为NULL

当为 做同样的事情时INSERT,这些值被设置为NULL而不是None我想要的。但是,我不能用UPDATE语句复制它。

标签: nullpyodbc

解决方案


您需要使用参数化查询:

sql = "UPDATE Documents SET DocName = ? WHERE DocID = ?"
cursor.execute(sql, new_doc_name, doc_id);

推荐阅读