问题标签 [executemany]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
698 浏览

python - Python sqlite3 'executemany' 没有成功更新我的数据库

我正在尝试从我的数据库中提取一列,应用转换,并使用结果创建一个新列。

我最终想将局部变量“new_proba”(长度为 740,与我的数据库长度相同)保存为一个名为“predict_proba_tplus1”的新列。通过阅读这个线程,我了解到 UPDATE 函数需要一个元组。

我创建了一个与数据库中的 indexID 列匹配的“ID”列表,然后使用“new_proba”对其进行压缩以创建输出“(0.56298709097028454, 0)、(0.54392926856501334, 1)等的元组。

下面的函数实际上并没有引发任何错误,但它只创建列“predict_proba_tplus1”并且没有填写我希望 c.executemany() 执行的任何值 - 我留下了一个新的列具有 NULL 值。这让我觉得 WHERE 语句有问题 - 即,尽管数字相同,但由于某种原因它没有将 indexID 列与 IDs 变量匹配。

任何见解将不胜感激。

0 投票
3 回答
4149 浏览

python - 为什么连接器/Python 不执行许多优化插入?

我正在使用连接器/Python 将许多行插入到 mysql 的临时表中。这些行都在列表列表中。我执行这样的插入:

我注意到(当然还有更多的行)性能非常差。使用 SHOW PROCESSLIST,我注意到每个插入都是单独执行的。但是文档https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-executemany.html说这应该优化为 1 插入。这是怎么回事?

0 投票
2 回答
2172 浏览

python - Python + sqlite3:使用“构造”值执行许多

我正在尝试executemany在 Python 中使用来填充一些行。

但是,我得到:

我知道,一般来说,您使用executemany尽可能有效地将原始值填充到数据库中,并且考虑到这一点,您通常希望插入的值的数量与列的数量相匹配。

但是,如果一个或多个列是通过 SQL “构造”的,并且没有任何相应的输入值怎么办?

小例子:

当你运行它时,你会得到顶部(3 values for 4 columns)中提到的错误。

SELECT a,b我想我可以通过将其分成单独的部分来解决这个问题SELECT a..., SELECT b...,但是有更好的方法吗?

给出的示例很小——实际上,它可能是 10 列,我现在必须详细列出它们自己的(SELECT ...)子句。


更新 1executemany正如我最初所想的那样,这并不特定于。即使手动运行纯 SQL 也有同样的问题。

更新 2下面的答案建议使用 aSELECT而不是VALUES,但是,当添加新行时(如我的“upsert”案例),这不起作用,因为SELECT在这种情况下不返回任何行。

0 投票
1 回答
93 浏览

database - 如何使用 Python3 和 SQlite3 将 3 个列表写入 6 列

我需要用 sqlite3 将 3 个包含值对的列表写入 6 列。

像这样:

我需要将每一对插入到彼此相邻的 .db 中。我可以使用成对函数来执行此操作,并为单个列表执行许多操作。

成对函数:

执行多个适用于一个列表的代码:

每当我尝试同时通过其他列表时:

我收到一条错误消息:

0 投票
1 回答
1147 浏览

python - 如何解决操作数应包含 1 列以更新 python 中的多行?

我想在 python 中使用单个查询更新多行。我根据以下示例使用executemany ,但出现此错误:

操作数应包含 1 列

这是我的代码,它显示了我如何创建需要更新的行的值列表。我更新发布只是字符串NULL的行。

我得到了这个输出:

[[((3,3,0.4698370099067688),(12,0.3859847187995959106),(2,2.33320342302323877),(1,1,1,0.3257867097854614) 0.5671890079975128), (24, 0.5287801623344421), (9, 0.5264906287193298), (15, 0.47776609659194946)], 'yang'), ([(12, 0.6617408990859985), (3, 0.6475195586681366), (15, 0.4491569995880127), (24, 0.4268345832824707), (21, 0.40550071001052856)], 'world')] MySQL 错误 [1241]: 操作数应包含 1 列

要明确 list 的最后一个成员,keyValueworldpostinglist是元组的第一部分。

0 投票
0 回答
290 浏览

python - 使用python和executemany将列表中的facebook帖子插入数据库

我正在使用 python、oursql 和 facebook SDK 从 Facebook 抓取数据并将其放入数据库。我编写了一个函数并设法获取列表中的数据,但 executemany 仅将第一行放入数据库。我不知道错误在哪里。我在这里先向您的帮助表示感谢。这是我的功能:

准备好的声明:

0 投票
1 回答
9247 浏览

python - For Loop 或 executemany - Python 和 SQLite3

我最近开始学习 Python 和 SQL 并且有一个问题。

将 Python 与 SQLite3 一起使用,我编写了以下代码:

我注意到我可以使用 for 循环而不是像这样的 executemany 来做同样的事情:

我只是想知道哪个更有效并且更频繁地使用?

0 投票
0 回答
298 浏览

python-2.7 - 当我使用 executemany 命令时得到不同的错误

我编写了以下代码,当我使用executemany时出现错误。但是当我使用循环执行查询时,它可以正常工作。我该如何解决这个问题。

data[0] 的值为:

这是查询:

然后,我收到以下错误:

此外,当我想运行以下代码时,我使用executemany命令从行中得到错误。

这是错误:

当我使用循环而不是executemany时,它可以工作。

0 投票
1 回答
188 浏览

sql - 如何在 SQL Server 中插入多行?

我有 17 列的表,我必须将特定文件中的行插入到该表中。

该文件中的行数约为 4000。

我已经接近ExecuteMany(qry)插入多行的方法,但我的最终列数据为:

现在我在最终查询中一次传递这些元组时遇到问题

任何人都可以帮助我将此值传递给最终查询吗?

更新:SQL Server 2008 一次插入超过 1k 行时抛出错误

那么如何用其他方式解决这个问题呢?

0 投票
1 回答
929 浏览

python-2.7 - 从 pyodbc 切换到 pymssql 后参数化查询的语法错误

我有13-15MB 的原始文件来将其数据加载到数据库中,使用带有 pyodbc 的executemany插入大约30k-35k行大约需要 50-55 分钟,它工作得很好,但它的处理时间很长。

为了测试性能,我尝试了 pymssql 但它在此处显示语法错误

AT executemany() 它正在抛出错误

错误:

loadData 中的错误(102,“'?'.DB-Lib 错误消息 20018 附近的语法不正确,严重性 15:\n一般 SQL Server 错误:检查来自 SQL Server 的消息\n”