当尝试在MySQL表中输入重复的密钥时,如何在R中获取错误消息?

时间:2017-08-16 09:41:03

标签: sql r rmysql

获取由以下内容定义的SQL表:

CREATE TABLE `raw_dummy_code` (
  `code` int DEFAULT NULL,
  `description` text COLLATE utf8_unicode_ci,
  `datestart` date DEFAULT NULL,
  `dateend` date DEFAULT NULL,
  UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

和由以下各项定义的R数据框:

raw_dummy_code <- data.frame(code = c(4, 4L, 4L),
                             datestart = c("2001-01-01", "2002-01-01", "2002-01-01"),
                             dateend = c("2001-12-31", "2500-01-01", "2500-01-01"),
                             description = c("old","recent","recent"),
                             stringsAsFactors = FALSE)

当我尝试在数据库中插入数据框时:

con <- RMySQL::dbConnect(RMySQL::MySQL(), dbname = "test")
RMySQL::dbWriteTable(con, "raw_dummy_code", raw_dummy_code, row.names = FALSE, append = TRUE)
RMySQL::dbDisconnect(con)

RMySQL::dbWriteTable只在数据库中插入一行。这是正常的,因为存在重复的行,但问题是没有返回错误消息。 尝试输入重复密钥时如何从MySQL获取错误消息?

0 个答案:

没有答案