gpt4 book ai didi

mysql - 循环数据库连接

转载 作者:行者123 更新时间:2023-11-29 18:07:10 25 4
gpt4 key购买 nike

我使用以下方法创建了 12 个 MySQL 数据库连接:

mydb1 = dbConnect(MySQL(), user='user', password=password, dbname='db',host='domain')
mydb2...
mydb3...
...
mydb12...

我有一个脚本,我想在所有 12 个数据库上执行相同的查询并循环遍历它们。如何将 dbConnect 对象成功传递给 dbSendQuery

items <- ls()[grep("mydb",ls())]
query <- dbSendQuery(items[1], "SELECT * FROM table")

给我错误:

Error in (function (classes, fdef, mtable) : unable to find an inherited method for function ‘dbSendQuery’ for signature ‘"character", "character"’

最佳答案

您无法将连接对象的文本表示形式传递给数据库函数。您的电话类似于 dbSendQuery("mydb1", "select * from table") ,我猜你不会按字面意思输入。

最终你想要处理 list连接数,您可以使用手动形成

conns <- list(mydb1, mydb2, ...)

但如果这很困难或者您想更加编程化,请尝试

conns <- lapply(ls()[grep("mydb",ls())], get)

然后

results <- lapply(conns, function(con) dbSendQuery(con, "select * from ..."))

关于mysql - 循环数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47733091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com