我的 data
表位于mariadb示例下的aws rds中,如下所示:
| id | first | second | third | fourth | fifth | sixth |
|----|-------|--------|-------|--------|-------|-------|
| 3 | foo | foo | foo | foo | 1 | foo |
| 4 | foo | foo | foo | foo | 2 | foo |
| 5 | bar | foo | bar | foo | 3 | bar |
| 6 | bar | bar | bar | bar | 4 | bar |
| 7 | bar | bar | bar | bar | 5 | bar |
update或delete查询无法生成所需的输出而不返回任何错误:
con <- dbConnect(RMariaDB::MariaDB(), group = "aws-rds")
dbSendQuery(con, statement = "UPDATE data SET second = 'bar' WHERE id = 4;")
dbDisconnect(con)
退货:
sql update data set second='bar'其中id=4;获取的行:0[完成]更改:1
但是,该表似乎没有变化,因为读入它会返回原始表:
con <- dbConnect(RMariaDB::MariaDB(), group = "aws-rds")
data.tbl <- dbReadTable(con, "data") %>% as_tibble()
dbDisconnect(con)
data.tbl
退货:
| id | first | second | third | fourth | fifth | sixth |
|----|-------|--------|-------|--------|-------|-------|
| 3 | foo | foo | foo | foo | 1 | foo |
| 4 | foo | foo | foo | foo | 2 | foo |
| 5 | bar | foo | bar | foo | 3 | bar |
| 6 | bar | bar | bar | bar | 4 | bar |
| 7 | bar | bar | bar | bar | 5 | bar |
我错过了什么?
1条答案
按热度按时间70gysomp1#
从
?dbSendQuery
此方法仅用于选择查询。出于兼容性原因,某些后端可能通过此方法支持数据操作查询。但是,强烈建议调用者对数据操作语句使用dbsendstatement()。尝试使用
dbSendStatement
.