R 的绝对初学者,所以请原谅任何明显的问题。
我正在尝试使用来自 Deducer 的数据框更新 MySQL 表(数据库'test'中的'exdata3')。
我最初调用了数据库并在推断器中使用了该表,对其运行一些查询,这些查询存储在数据帧“data1”中。现在我想发送包含一个新列的“data1”并更新 MySQL 中的非空表 exdata3。
(将来我可能没有新的列/行,但与 MySQL 中的相同列相比,现有列在数据框中可能具有不同的值,如果您知道我的意思的话)
MySQL 中数据框和表之间的区别在于在数据框中添加了“DiffHighLow”列(其中包含从表中的其他两个列计算的值)。
我在 64 位 Windows7 上使用 RODBC 在 R 和 MySQL 之间进行通信
我已经尝试了以下错误。
1. > sqlSave(channel, data1, exdata3, append= TRUE,rownames = "DiffHighLow", colnames = TRUE, verbose = FALSE, 更安全 = TRUE, addPK = FALSE, "integer", fast = TRUE, test = FALSE, nastring =空)
sqlSave 中的错误(通道,data1,exdata3,append = TRUE,rownames = “DiffHighLow”,:找不到对象“exdata3”
2.> sqlSave(通道, data1, rownames = "DiffHighLow", addPK = TRUE)
sqlSave(通道,data1,rownames =“DiffHighLow”,addPK = TRUE)中的错误:42S21 1060 [MySQL][ODBC 5.3(w)驱动程序][mysqld-5.0.41-community-nt]重复的列名'diffhighlow'
[RODBC] 错误:无法 SQLExecDirect 'CREATE TABLE data1
(DiffHighLow
varchar(255) NOT NULL PRIMARY KEY,exdata3_id
integer,date
double,open
double,high
double,low
double,close
double,shares_
integer,turnover_
double,diffhighlow
double)'
第三。> sqlUpdate(通道,data1,“exdata3”)
sqlUpdate(channel, data1, "exdata3") 中的错误:数据框列日期开盘高低收盘股_营业额_diffhighlow 不在数据库表中
除其他外,我不明白为什么它不能识别数据库表中已经存在的行名,除了“DiffHighLow”
请指教。我已经在 SO 上搜索了很多这样的问题,并尝试了已经发布的各种解决方案(与我的查询最相似),但它们似乎都不起作用。