【问题标题】:pyodbc - insert into 'select' not workingpyodbc - 插入“选择”不起作用
【发布时间】:2023-03-13 17:40:01
【问题描述】:

我正在尝试在 cur.execute 中运行 INSERT INTO SELECT 语句。代码执行没有任何错误,但表中没有插入记录。

这是表格数据:

我执行以下查询,

cursor = conn.cursor()
query = 'INSERT INTO destination_test_hist SELECT * FROM destination_test'
cursor.execute(query)
conn.commit()

我哪里错了?我需要一些帮助

【问题讨论】:

  • 这实际上对我有用,除非我添加参数化标准。例如- curose.execute("select ... where col1 = ?",arg1).

标签: sql python-3.x pyodbc insert-select


【解决方案1】:

检查您的数据库环境和相关表是否相同。您可能已经检查了 QA 测试环境,或者发布查询时输出没有包含数据库名称和表的记录。

此外,在编程级别,它可能似乎没有在数据库中执行,请调试查询输出它在编程级别返回的内容。

【讨论】:

  • 我已经仔细检查了查询,它在色调中完美运行,插入记录。关于编程级别,如果查询中有错误,它确实会给出语法错误(已修复)并返回成功执行。没有遇到其他错误
【解决方案2】:

语法方面,我没有看到任何错误。

只需检查几件简单的事情即可确定:

检查您的连接是否正确,并且您正在检查服务器/数据库、您的源表(在本例中为destination_test)和目标表(在本例中为destination_test_hist)是否正确。

【讨论】:

  • 我已经仔细检查了所有这些。该查询在色调(impala)中工作正常,但无法通过 pyodbc
猜你喜欢
  • 2013-11-30
  • 1970-01-01
  • 2012-07-01
  • 2018-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
相关资源
最近更新 更多