Python:psycopg2.ProgrammingError:INSERT 的表达式多于目标列

2023-12-19

我是 python 新手,我似乎不明白为什么会出现这个错误。它告诉我参数太多,但表有 8 列,我向​​它传递了 8 个参数。到底是怎么回事?这个错误是否会产生误导,真正的问题是我试图传递的值可能是None或者可以是类型Boolean using %s?

这是代码片段

        db.cursor().execute("CREATE TABLE temp_clean_mp_duplicates (id bigint, distinctid character varying(255), created timestamp without time zone, email character varying(255), created_exist boolean, email_exist boolean, user_exist boolean, distinct_id_found boolean, CONSTRAINT temp_clean_mp_duplicates_pkey PRIMARY KEY(id));")

        mp_email = None
        email_exist = False
        if "$email" in mp_properties :
            mp_email = mp_properties["$email"]
            email_exist = True

        mp_distinct_id = result["$distinct_id"]
        db_cursor.execute("SELECT u.id, u.email, udm.distinctid, u.sessionId FROM users as u,user_distinctid_map as udm where u.id = udm.user_id and udm.distinctid = %s and lower(email) = lower(%s)", (mp_distinct_id,mp_email,))
        distinct_id_found = True
        if db_cursor.rowcount == 0 :
            distinct_id_found = False

        created = None
        created_exist = False
        if "$created" in mp_properties :
            created = mp_properties["$created"]
            created_exist = True



            db_cursor.execute("SELECT u.id, u.email, u.sessionId FROM users as u where lower(u.email) = lower(%s)", (mp_email,))
            user_id = 0
            user_exist = False
            if db_cursor.rowcount > 0 :
                user_id = db_cursor.fetchone()[0]
                user_exist = True

            db.cursor().execute("INSERT INTO temp_clean_mp_duplicates (id, distinctid, created, email) VALUES (%s,%s,%s,%s,%s,%s,%s,%s);", (user_id, mp_distinct_id, created, mp_email, created_exist, email_exist, user_exist, distinct_id_found))

正如您所发现的,问题确实是INSERT陈述:

INSERT INTO temp_clean_mp_duplicates (id, distinctid, created, email) VALUES (%s,%s,%s,%s,%s,%s,%s,%s);", (user_id, mp_distinct_id, created, mp_email, created_exist, email_exist, user_exist, distinct_id_found)

你是对的table有八列,但你告诉 SQL 你只是setting其中四个与INSERT INTO temp_clean_mp_duplicates (id, distinctid, created, email)- 括号中的列是它将尝试设置的列。

以下是我对 INSERT 语句的看法:

INSERT INTO <tablename> (<target columns>) VALUES (<values on new row>)

因此,如果您尝试设置所有八个列,则需要将所有列名称放在括号中:

INSERT INTO temp_clean_mp_duplicates (id, distinctid, created, email, created_exist, email_exist, user_exist, distinct_id_found) VALUES (%s,%s,%s,%s,%s,%s,%s,%s);", (user_id, mp_distinct_id, created, mp_email, created_exist, email_exist, user_exist, distinct_id_found)

上面的查询应该有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:psycopg2.ProgrammingError:INSERT 的表达式多于目标列 的相关文章

  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 在 SQL 数据库中存储“列表”的最正确方法是什么?

    因此 我读了很多关于如何将多个值存储到一个列中是一个坏主意 并且违反了数据标准化的第一条规则 令人惊讶的是 这不是 不要谈论数据标准化 所以我需要一些帮助 目前我正在为我工 作的地方设计一个 ASP NET 网页 我想根据此人所属的 Act
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9

随机推荐

  • 重写条件总和和计数查询/日期范围比较的更好方法

    我不确定我所做的尝试是否正确 看来有很多重复的事情 以下示例在本月 上个月运行 但通常我不希望能够设置我的子句以供以后使用 例如 昨天与今天 这是一个简单的比较查询 只是为了让我们更容易 我们在这个 上个月进行操作 我的数据 CREATE
  • 如果log4net日志无法写入数据库,如何设置?

    我知道可以同时登录文件和数据库 也可以登录不止一种资源 https stackoverflow com questions 1372435 configure log4net to write to multiple files 但是如果l
  • 如何使用 Spring data REST 公开自定义 DTO CRUD 存储库?

    我不想公开我的模型类 jpa 实体 而是使用不同的数据传输对象 DTO 公开其属性的不同子集 这个想法是DTO CrudRepository lt gt JpaRepository lt gt entities 我想通过 Spring Da
  • 通过 ng build 构建 Angular 项目时,出现 angular.json 文件未找到错误

    我在笔记本电脑上克隆了一个存储库 该存储库是我一个月前从另一台计算机创建的 我的项目很成功 一个月前没有出现任何错误 但今天在我将存储库克隆到新计算机中后 我遇到了一些错误 其实我写的npm i为了安装软件包 然后我尝试通过构建我的项目ng
  • 计算上传文件的数量

    我正在开发我的 CodeIgniter 项目 到目前为止它运行得很好 但是 我需要某种方法来计算上传文件的数量 因为我想在某些情况下 但不是全部 限制它 我怎样才能做到这一点 我试过count FILES 但这没有给我任何可用的东西 我还尝
  • 了解 AMD GPU 中的 oneAPI 和 SYCL

    我是一名 GPGPU 开发人员 我使用 CUDA 完成了所有工作 最近 我为我的家庭设置购买了 AMD GPU 并且我一直在阅读有关 SYCL 和 oneAPI 的内容 但我不确定我是否理解它们各自是什么以及它们如何互补 如果我理解正确的话
  • 无法读取属性“getText”量角器

    我正在尝试将一个循环插入一个循环并获取Cannot red property getText of undefined error 这是我的代码 element all by className col md 4 ng scope then
  • 重置选择框的值

    我正在尝试重置两个选择字段的值 其结构如下
  • 艰难地学习 Ruby 第 9 章 三引号

    Zed Shaw 的 Learn Ruby the Hard Way 第 9 章使用了三重双引号 puts There s something going on here With the three double quotes We ll
  • 在给定合并提交 SHA1 的情况下,您如何查看/显示已完成的 git 合并冲突解决方案?

    当您解决冲突 然后暂存更改 然后执行 git diff 时 它会显示两列 和 一列代表 我们的 一列代表 他们的 给定存储库的 git 历史记录中的合并提交 我如何查看由其他人完成的解决方案 在其他情况下 我以前见过它 我想是在 gitk
  • 滚动到验证摘要 - ASP.net MVC

    当用户单击应用程序中导致验证错误的按钮时 是否有办法让页面滚动到验证摘要的位置 如果出现错误 我需要对这两种情况执行此操作 客户端验证阻止页面提交 服务器验证重新显示网页 在 MVC 中是否有一种简单的方法可以实现这一点 jquery 滚动
  • 自定义 Android TabHost 慢片段

    我使用 ActionbarSherlock 和 SlidingMenu 我的 MainActivity 不访问数据库 也不解析任何内容 一切都是静态的 根据您从滑动菜单中选择的 部分 动态生成选项卡 单击 2 次后 应用程序变得非常慢 下面
  • 检查android应用程序是否在前台? [复制]

    这个问题在这里已经有答案了 我针对这个问题找到了很多答案 但这都是关于单个活动的 如何检查整个应用程序是否在前台运行 我不明白你想要什么 但你可以检测当前的前台 后台应用程序ActivityManager getRunningAppProc
  • 表溢出到 div 之外

    我试图阻止一个已明确声明宽度的表在其父级之外溢出div 我想我可以使用某种方式做到这一点max width 但我似乎无法让它工作 以下代码 窗口非常小 将导致这种情况 div div
  • 我什么时候应该在响应标头中真正将“Access-Control-Allow-Credentials”设置为“true”?

    MDN https developer mozilla org en US docs Web HTTP Headers Access Control Allow Credentials表示 当必须在站点之间交换 cookie 授权标头或 T
  • 在 Excel 中将 HEX 转换为 RGB

    我有一列 HEX 和三列 R G 和 B 如何将 HEX 转换为 RGB 例如ff0000 to R 255 G 0 and B 0 我知道前 2 个字符ff属于 R 接下来的200属于 G 最后的200属于 B 所以我必须使用 LEFT
  • Excel:将数组传递给用户定义函数 (VBA)

    编辑 解决方案 请参阅下面的原始问题 在将 1 2 3 这样的数组传递给 UDF 时 我发现需要考虑两件事 区域设置 请参阅答案 1 德国系统上的列表分隔符 通常 是 因此我需要使用 1 2 3 传递的数组在函数中显示为二维数组 因此 它的
  • Objective-C 类中的 Swift 协议

    I wrote SearcherProtocol在 Swift 中并且需要实现一个 Objective C 类FileSearcher必须使用这个协议 所以我尝试了这个 import
  • C++ 警告:“指针参数“arr”可以是指向 const 的指针”

    我有下面三个函数 我不确定为什么第二个和第三个函数在 arr 处有警告 但第一个函数没有 该警告是什么意思以及如何解决这个问题 IDE 克利翁2017 3 MinGW64 5 0 CMake 3 9 4 谢谢 int getFirstEve
  • Python:psycopg2.ProgrammingError:INSERT 的表达式多于目标列

    我是 python 新手 我似乎不明白为什么会出现这个错误 它告诉我参数太多 但表有 8 列 我向 它传递了 8 个参数 到底是怎么回事 这个错误是否会产生误导 真正的问题是我试图传递的值可能是None或者可以是类型Boolean usin