如何从MySQL中删除选定的行
在我的shinyapp中单击delete按钮时,我需要从MySql数据库中删除所选的行。它必须适用于多重选择,与单一选择相同 我使用input$table\u rows\u selected,但它返回的是数据框中的行ID,而不是MySQL中的行ID。这就是它不起作用的原因 我的代码是:如何从MySQL中删除选定的行,mysql,r,shiny,Mysql,R,Shiny,在我的shinyapp中单击delete按钮时,我需要从MySql数据库中删除所选的行。它必须适用于多重选择,与单一选择相同 我使用input$table\u rows\u selected,但它返回的是数据框中的行ID,而不是MySQL中的行ID。这就是它不起作用的原因 我的代码是: library(shiny) library(DBI) con <- dbConnect(RMySQL::MySQL(), dbname = "test", username = "root", pass
library(shiny)
library(DBI)
con <- dbConnect(RMySQL::MySQL(), dbname = "test", username = "root", password = "password", host = "host", port = 3306)
onStop(function() {
dbDisconnect(con)
})
ui <- fluidPage(
DT::dataTableOutput("tbl"),
actionButton("del", "Delete user"),
)
server <- function(input, output, session) {
sqlOutput <- reactive({
sqlInput <- "select * from test"
dbGetQuery(con, sqlInput)
})
output$tbl <- DT::renderDataTable(sqlOutput(),
server = TRUE, rownames = FALSE
)
observeEvent(input$del, {
delFunction(input$tbl_rows_selected)
})
delFunction <- function(id) {
query <- sprintf("DELETE FROM test WHERE (`idtest` = '%d');", id)
dbSendQuery(con, query)
}
}
shinyApp(ui, server)
库(闪亮)
图书馆(DBI)
con我找到了修改这部分代码的解决方案:
observeEvent(input$del, {
delFunction(input$tbl_rows_selected)
})
delFunction <- function(id) {
count <- id
data <- sqlOutput()[count, 1]
query <- sprintf("DELETE FROM test WHERE (`idtest` = '%d');", data)
dbSendQuery(con, query)
}
observeEvent(输入$del{
delFunction(输入$tbl\u行\u选中)
})
代尔函数