我在远程服务器上有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是表的名称。
创建表时,第 4 列已被定义为非 NULL。如果您可以访问表的 DDL,您应该能够检查这一点。
如果为第 4 列指定了 NOT NULL 选项,我建议您仔细检查您尝试插入到表中的数据:对于它们,对应于第 4 列的值不应为 null。