如何使用 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 值?的主要内容,如果未能解决你的问题,请参考以下文章
如何使 Microsoft BCP 导出空字符串而不是 NUL 字符?
当没有匹配的记录时,如何将与另一个表连接的 group_concat 列更改为空字符串而不是 null?
获取 pandas.read_csv 以将空值读取为空字符串而不是 nan
Paypal IPN 返回空字符串而不是“VERIFIED”或“INVALID”
复选框输入返回空字符串而不是 true/false,使用 React hook dom 和 material-ui FormControlLabel