gpt4 book ai didi

mysql - 使用 Shiny 将记录插入 MYSQL 数据库

转载 作者:行者123 更新时间:2023-11-29 11:17:24 24 4
gpt4 key购买 nike

我希望基于一个 Shiny 的应用程序写回 mysql 数据库。这段代码经过一些修改来自优秀的1 。我添加了一部分来提供记录的插入时间戳。当我尝试插入记录时出现以下错误

Error in .local(conn, statement, ...) : could not run statement: Incorrect datetime value: '1473931679.54479' for column 'insert_dtm' at row 1

此日期时间值是由我的代码的添加记录的插入时间戳并重新排序列生成的。谁能解释一下为什么会发生这种情况。

我应该在表中提到正在写入的数据类型是DATETIME,但我可以将其更改为任何内容,因为我感兴趣的是跟踪记录的插入时间

save_data <- function(data) {
# Connect to the database
db <- dbConnect(MySQL(), dbname = databaseName, host =
options()$mysql$host,
port = options()$mysql$port, user = options()$mysql$user,
password = options()$mysql$password)

# Add insertion time stamp of the record and re-order columns
data <- data %>%
mutate(insert_dtm = Sys.time()) %>%
select (insert_dtm, everything()) %>%

# Construct the update query by looping over the data fields
query <- sprintf(foo)

# Submit the update query and disconnect
dbGetQuery(db, query)
dbDisconnect(db)
}

最佳答案

之所以不起作用,是因为 Sys.time() 的日期格式不同。和 MySQL datedatetime类型。

> Sys.time()
###[1] "2016-09-23 11:30:36 CEST"
###MySQL datetime: "2016-09-23 11:30:36"

转换为 MySQL 日期时间格式后,它应该可以工作。我认为问题出在时区。

对于 YYYY-MM-DD 格式

> format(Sys.time(), "%Y-%m-%d")
###[1] "2016-09-23"

对于 YYYY-MM-DD hh:mm:ss 格式

> format(Sys.time(), "%Y-%m-%d %H:%M:%S")
###[1] "2016-09-23 11:37:45"

关于mysql - 使用 Shiny 将记录插入 MYSQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39507800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com