mariadb-update/delete失败

a0zr77ik  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(408)

我的 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   |

我错过了什么?

70gysomp

70gysomp1#

?dbSendQuery 此方法仅用于选择查询。出于兼容性原因,某些后端可能通过此方法支持数据操作查询。但是,强烈建议调用者对数据操作语句使用dbsendstatement()。
尝试使用 dbSendStatement .

相关问题