当前位置: 首页 > 知识库问答 >
问题:

Pythoncopy_from()加载空整数值的数据抛出错误:数据错误:整数的无效输入语法:""

闾丘坚诚
2023-03-14

我试图使用psycopg2的copy_from()方法将数据从python的StringIO对象加载到Postgres数据库表中。

我的copy_from在第一条记录本身失败,特别是对于具有空值(无引号)的特定(可为空)整数列。我还尝试使用Python的“无”关键字代替“空值”。它向我抛出以下错误:数据错误:整数的无效输入语法:""CONTEXT: COPY,第1行,列:""

代码如下所示:

table_data = StringIO.StringIO()
# Populate the table_data variable with rows delimited by \n and columns delimited by \t
cursor = db_connection.cursor()
cursor.copy_from(table_data, <table_name>)

此列是smallint列。

共有1个答案

樊浩初
2023-03-14

默认情况下,COPY FROM(和COPY\u FROM)将空值编码为\N。如果要使用空字符串表示NULL,则需要明确说明:

cursor.copy_from(table_data, table_name, null="")
 类似资料:
  • 问题内容: 我有这张桌子: 我使用这样的查询,但出现错误: 我想显示这样的表: 如何实现呢? 问题答案: 我想在您的查询的问题是, 是的,你是想选择一个空的()。 您必须解决方法: 更改为(2010,2012 ..将被视为字符串,我不知道是否可以) 放:

  • 问题内容: 从未见过这样的错误: 错误[22P02]错误:整数的无效输入语法:“”;执行查询时出错 创建表: 更新代码: 查询看起来完全像这样: 我有很多表在其中运行类似的命令,但从未见过这样的错误。 可能是什么问题? 问题答案: 我建议阅读手册中的“ 常量 ”一章。这是一篇简短且内容丰富的文章。 错误消息的原因是,这是一个 空字符串 ,没有数字类型(如)的表示形式。 @a_horse_with_

  • 我正在Java创建一个航班应用程序,它应该做的事情之一是添加一个新的航班到数据库。我可以添加航班名称没有问题,但我有问题添加航班的座位数到数据库。数据库表被设置为将座席数作为整数值。在我的代码中,将这个值从用户界面添加到数据库的函数将一个值作为整数参数。然后,在添加新航班的实际按钮的事件处理程序代码中,我将值从字符串(这是文本框中接受的字符串)转换为整数,以便将值输入数据库。然而,当我运行我的代码

  • 问题内容: 我试图内联上传存储在UTF-8文本文件中的数据,但有两个问题。首先,该表上目前没有设置主键,并且此时未将其设置为自动增量或被强制为null。加载所有数据后,第一列将是预期的主键,并且外键将在该点添加。 我收到以下错误: 受影响的25行,1警告:1366错误的整数值:第1行的’idtable_file’列的值为‘1’记录:25已删除:0跳过:0警告:1 尝试运行此命令时: 在此表上: 我

  • 我在项目开发阶段。因此,我现在基本上不需要迁移。我以前有第一个表,第二个表是新添加的表。我已经预装了db。下面是使用的代码。 我还在AndroidManifest中给出了。xml。我不想使用,它也会清除我的预打包数据库。 我在emulator(API级别29)中卸载了该应用程序并运行了该应用程序。我得到了这个错误。 我不明白为什么重新安装会导致这个问题。有人能让我知道我做错了什么吗?

  • 我正在做一个大项目,但对于这个问题,我写了一个简单的例子。我有两门课。 和 我得到以下输出: 但我想得到这个: