如何使用 pyodbc 准备语句插入空字符串而不是 NULL 值?

Posted

技术标签:

【中文标题】如何使用 pyodbc 准备语句插入空字符串而不是 NULL 值?【英文标题】:How to insert empty string instead of NULL values using pyodbc prepared statement? 【发布时间】:2022-01-19 09:01:51 【问题描述】:

这是我的示例语句:

conn.cursor.execute("insert into Employee(name, manager) values(?,?)", ('rahul',''))

我使用 Sybase 作为数据库。如果我使用数据库客户端执行语句:

insert into Employee(name, manager) values('rahul','')

然后,为manager 列插入空值,这是所需的。

但是当我执行准备好的语句时,NULL 值被插入到数据库中。

这是怎么发生的?以及如何解决这个问题?谢谢!

【问题讨论】:

相关:***.com/q/52284561/2144390 【参考方案1】:

当您执行 INSERT 语句时,数据库服务器将 NULL 值插入您未提供值的任何列,以及没有默认值的所有列。 您可以为该列设置默认值,这可能会解决此问题。

编辑:而不是传递''尝试传递'',它可能会解决问题。我认为数据库会检查字符串的长度,当长度为 0 时,它会插入一个 Null 值。

【讨论】:

以上是关于如何使用 pyodbc 准备语句插入空字符串而不是 NULL 值?的主要内容,如果未能解决你的问题,请参考以下文章