繁体   English   中英

如何使用R将数据框中的数据插入MySQL表中的选定列

[英]How do I insert data from a dataframe into selected columns in a MySQL table using R

我有一个由3列组成的数据框,名为INTERNAL_IDNT_CLONOTYPESAMPLE_ID 我需要在R中编写一个脚本,它将这些数据传输到MySQL表中具有确切名称的相应3列中。 但是,该表有超过3列,例如5( INTERNAL_IDCOUNTNT_CLONOTYPEAA_CLONOTYPESAMPLE_ID )。 MySQL表已经存在,可能包含也可能不包含预先存在的数据行。

我正在使用R中的dbx和RMariaDB库。我已经能够使用dbxConnect()连接到MySQL数据库。 当我尝试运行dbxUpsert()

-----
conx <- dbxConnect(adapter = "mysql", dbname = "TCR_DB", host = "127.0.0.1", user = "xxxxx", password = "xxxxxxx")

table <- "TCR"
records <- newdf  #dataframe previously created with the update data.

dbxUpsert(conx, table, records, where_cols = c("INTERNAL_ID"))

dbxDisconnect(conx)

我希望获得一个更新的mysql表,其中包含新行,这些行可能在数据框中未包含的列中有空条目,也可能没有。

Ex.
INTERNAL_ID  COUNT  NT_CLONOTYPE  AA_CLONOTYPE SAMPLE_ID
Pxxxxxx.01          CTTGGAACTG                  PMA.01

连接和断开都运行fin,但我没有输出,而是获得以下错误:

  Error in .local(conn, statement, ...) : 
  could not run statement: Field 'COUNT' doesn't have a default value

我怀疑是因为每个文件中的列数不一样,但我不确定。 如果是这样,我怎么能解决这个问题。

我想到了。 我将“COUNT”的表条目更改为默认值为NULL。 这允许程序通过忽略“COUNT”继续进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM