目标:将在R中生成的数据data,写入mysql中的新的数据库的一个表,新的数据库取名为“test”,表名也为“test”
代码如下:
library(RODBC)
channel<-odbcConnect(dsn='mysql',uid='root',pwd='xxxxx',)#这里密码我就打码了[s:11]
data<-data.frame(x=5:1)
if("test"%in%sqlTables(channel=channel)$TABLE_NAME)
sqlDrop(channel=channel,sqtable="test")#如果存在名字为‘test’的数据库,就删除这个数据
sqlSave(channel=channel,dat=data,tablename='test'
,append=TRUE,addPK=FALSE,rownames=FALSE)#把数据写入数据库
到这里出现报错:
错误于sqlSave(channel = channel, dat = data, tablename = "test", append = TRUE, :
3D000 1046 [MySQL][ODBC 5.2(w) Driver][mysqld-5.6.16]No database selected
[RODBC] ERROR: Could not SQLExecDirect 'CREATE TABLE test (x integer)'
请问该如何处理?
我问了我的统计课老师,他说这个问题需要在前面连接数据库的时候设置一个允许改写数据库的参数?
我的目的是直接把R中的数据写入mysql里的一个新的数据库中的表,这个新的数据库事先是没有的。