- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 RMySQL
包将数据从 R 导出到 MySQL 数据库。我面临的一个大问题是重复项:我有太多具有相同值的条目。系统自动生成结果并将dataframe插入数据库。
数据库中的当前表:
Name Balance
Bob 100
Ted 150
Carl 130
我在 R 中也有一个数据框 (df
) 反射(reflect)了余额的变化:
> df
Name Balance
[1] Bob 100
[2] Ted 150
[3] Bill 50
要插入数据库的数据:
Name Balance
Bill 50
插入后,表格应该如下所示:
Name Balance
Bob 100
Ted 100
Carl 130
Bill 50
但是我的 dbwrite 产生了这个:
Name Balance
Bob 100
Ted 100
Carl 130
Bob 100
Ted 150
Bill 50
我正在使用这段代码:
dbWriteTable(con, "DB Table name", rbind(Dataframe), row.names=FALSE,append=TRUE)
有没有办法在 R 中使用 RMYSQL 检查现有表并仅使用新表更新表。
最佳答案
不要使用 dbWriteTable()
,而是使用 dbSendQuery()
。您可以构建一个 SQL 查询来插入数据框的每一行:
df <- data.frame(name=c('Bob','Ted','Bill'), balance=c(100,150,50))
strSQL <- paste(
'insert into your_table (name, balance) values',
paste(sprintf("('%s', %f)", df$name, df$balance), collapse=', '),
'on duplicate key update balance = values(balance)',
sep = ' '
)
# The query will be something like this:
# insert into your_table (name, balance)
# values ('Bob', 100.000000), ('Ted', 150.000000), ('Bill', 50.000000)
# on duplicate key update balance = values(balance);
# Important: If you want this to work, you must ensure that there's a unique
# index on column 'name' in your_table
dbSendQuery(con, strSQL)
关于RMYSQL-插入忽略,替换-R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25667376/
我正尝试按照 http://biostat.mc.vanderbilt.edu/wiki/Main/RMySQL 中的说明在 Windows 7(64 位)上安装 RMySQL。 .我正在使用 R 2
我在安装 RMySQL 时遇到问题。我正在尝试通过以下方式从其源代码安装它: install.packages("/path/to/package/RMySQL_0.9-3.tar.gz",repos
我的函数包含在一个更大的函数中,使用 dbConnect() , dbGetQuery() , 和 dbDisconnect() . 当函数出错时,我修复它并尝试重新运行它。但我无法重新运行它,因为我
我在多个内核上运行一个 R 脚本,它将数据插入到一个已经包含超过 7 亿行的表中。因为表变得太大,死锁变得很常见,因为我在多个内核上运行相同的脚本更是如此。我一直在尝试使用 TryCatch 解决这些
我试图仅在名称存在于已存在的数据框中的数据库中提取数据。我不确定如何将该列表包含到我的选择语句中。 奖励:我需要将所有数据重新格式化为更友好的格式。 library(RMySQL) library(D
我正在使用 RMySQL 包在当前表中写入(追加)数据。我使用的是 R,版本 3.3.2。 我的代码如下所示: library(RMySQL) df_final <- some_data m<-dbD
我一直在尝试使用 R(使用 Ubuntu 12.04)访问 MySQL 数据库,我觉得这应该是一件相当自然的事情,因为 R 是一种统计语言。然而,这看起来像是拔牙。似乎唯一不会遇到依赖错误的库是 RM
当我运行时 library(RMySQL) mydb = dbConnect(MySQL(), user = "XX", password = "XX", dbname = "XX", host =
我试过这个脚本来使用 RMySQL 在表中选择一个字段: mydb <- dbConnect(MySQL(), dbname="***", user='***',host='***') a<-2955
我有一段代码: mydb <- dbConnect(MySQL(), user = "****", password = "****", dbname = "c_global", host = "")
我正在试验 RMySQL ,并且不小心创建了一个没有句柄的连接。 dbConnect(MySQL(), user = "foo", password = "bar") connLocalDB = db
我在 R 中使用 RMySQL 包和 DBI 包。当我运行代码时, dbReadTable(con, "data") 这需要很长时间。 我认为表格是非常大的数据。关于如何加快此过程的任何想法? 谢谢,
我正在使用 RMySQL 包将数据从 R 导出到 MySQL 数据库。我面临的一个大问题是重复项:我有太多具有相同值的条目。系统自动生成结果并将dataframe插入数据库。 数据库中的当前表: Na
在我的 Linux 机器上安装 RMySQL 花费了大量时间,但我能够在更改环境变量并复制和粘贴 lib.dll 文件后安装它。 但是,我现在正在尝试在我的 64 位窗口机器上安装 RMySQL,但到
我正在尝试连接到远程可公开访问的 MySQL 服务器 EnsEMBL公共(public)服务器使用 RMySQL ,但是当我尝试列出表时,会发生错误: library(RMySQL) mydb = d
所以我一开始就很好地连接到我的数据库: con ", port = 3306 ) 所以一切正常,但在我的 Shiny 应用程序上运行/刷新几次后,它说我打开了 16 个连接,我无法再打开任何连接。 所
有没有办法使用 RMySQL 创建临时表?包?如果是这样,正确的方法是什么?特别是我试图从我的 写一个数据帧R session 到临时表。我有几个并行运行的进程,我不想担心名称冲突,这就是为什么我想让
背景: 我正在开发一个 rscript,它从 mysql 数据库中提取数据,执行逻辑回归,然后将预测插入回数据库中。我希望整个系统都包含在脚本中,以防数据库出现故障。这包括脚本依赖于在后端聚合数据的所
我在将值传递到 dbSendQuery 时遇到困难。下面是我的代码: 参数: date_param [1] "select distinct product_id, group from test_
我有一个 80 * 5 data.frame df 使用 dbWriteTable(mydb, name = "fooDB", df, field.types = dbtypes, row.names
我是一名优秀的程序员,十分优秀!