我在远程服务器上有Netezza数据库,我正尝试使用Pyodbc写入数据库。
从数据库中读取数据时,连接工作正常。但是尝试写入时,我无法写入Netezza数据库。它显示以下错误:
“错误:('HY000','[[HY000]错误:列4:字段不能包含空值(46)(SQLExecDirectW)')“
进一步检查第4列时,我发现指定的问题中没有Null值。
此外,我用来写入数据库的代码片段如下:
for row in Full_Text_All.itertuples():
srows = str(row[1:]).strip("()")
query2 = "insert into MERGED_SOURCES values('+srows+')"
在哪里, Full_Text_All是数据框的名称 表的名称是MERGED_SOURCES。
答案 0 :(得分:1)
创建表时,第4列可能已定义为NOT NULL。 如果您可以访问表的DDL,则应该可以进行检查。
如果为列4指定了NOT NULL选项,建议您仔细检查要插入表中的数据:对于它们,与列4对应的值不应为null。