8

我试图通过使用 RMySQL 将数据添加到 MySQL 表中。我只需要一次添加一行,它不起作用。我想做的是这个。

dbGetQuery(con,"INSERT INTO names VALUES(data[1,1], data[1,2])")

所以我正在做的是我在名为“数据”的数据框中有值,我需要将它们放入 mysql 表中。在此之前,我会检查它们是否已经在表中,如果它们不在,那么我将添加它们,但这样它就不起作用了。数据由 .csv 文件读取read.csv

4

2 回答 2

17

您可以使用paste来构造该实际查询。

dat <- matrix(1:4, 2, 2)
query <- paste("INSERT INTO names VALUES(",data[1,1], ",", data[1,2], ")")
query
#[1] "INSERT INTO names VALUES( 1 , 3 )"
dbGetQuery(con, query)

# If there are a lot of columns this could be tedious...
# So we could also use paste to add all the values at once.
query <- paste("INSERT INTO names VALUES(", paste(data[1,], collapse = ", "), ")")
query
#[1] "INSERT INTO names VALUES( 1, 3 )"
于 2013-02-25T18:38:53.913 回答
3

您可以尝试:

dbWriteTable(names, data[1,],append=True)

作为DBI 包的详细信息

于 2018-04-26T04:54:53.350 回答