Error in .local(conn, statement, ...) :
could not run statement: The used command is not allowed with this MySQL version
意思是:当前写数据命令不能再RMySQL版本上应用。
library(DBI)
library(RMySQL)
#1、建立本地连接:获取连接信息,查看database下所有表
conn = dbConnect(MySQL(),dbname="d_sample",
username="root",
password="123456",
client.flag=CLIENT_MULTI_STATEMENTS)
#2、创建一个R数据库
t_demo<-data.frame(
a=seq(1:10),
b=letters[1:10],
c=rnorm(10)
)
print(t_demo)
数据框的结果如下:
> print(t_demo)
a b c
1 1 a -2.4673372
2 2 b -1.4286452
3 3 c -0.8539637
4 4 d -0.5737034
5 5 e 0.8733247
6 6 f 0.1782032
7 7 g -0.3980611
8 8 h 0.1050986
9 9 i -0.6929084
10 10 j -1.9397270
library(DBI)
library(RMySQL)
#1、建立本地连接:获取连接信息,查看database下所有表
conn = dbConnect(MySQL(),dbname="d_sample",
username="root",
password="123456",
client.flag=CLIENT_MULTI_STATEMENTS)
#2、创建一个R数据库
t_demo<-data.frame(
a=seq(1:10),
b=letters[1:10],
c=rnorm(10)
)
print(t_demo)
#3、写数据到数据库中,数据库的表名为:t_demo1,overwrite表示覆盖原表数据;
dbWriteTable(conn, "t_demo1", t_demo,overwrite = TRUE)
#5、关闭连接
dbDisconnect(conn)
提示错误信息如下:
> dbWriteTable(conn, "t_demo1", t_demo,overwrite = TRUE)
Error in .local(conn, statement, ...) :
could not run statement: The used command is not allowed with this MySQL version
我在网上找了很久,终于在【Stack Overflow】 “https://stackoverflow.com/questions/” 网上找到一点相关解决方法,但没有详细说明。于是我将其详细解决过程写了下来。
解决思路: 既然提示当前命令不支持当前版本RMySQL,那么我们就下载一个可以支持dbWriteTable函数的数据库版本来解决此问题。
方式1: 在RStudio中的命令区输入命令:install.packages(“RMariaDB”)
下载完成之后,会自动保存到“红色框”的路径下。
方式2:直接到RMariDB页面下载,下载地址如下:
下载地址:RMariaDB https://cran.r-project.org/web/packages/RMariaDB/index.html
选择Tools——install Packages——选择Browse——选择RMariaDB 1.0.6.zip文件——install——安装完毕。
出现以下内容,表示安装成功:
library(DBI)
library(RMariaDB)
#1、建立本地连接:获取连接信息,查看database下所有表
conn = dbConnect(MariaDB(),dbname="d_sample",
username="root",
password="123456",
client.flag=CLIENT_MULTI_STATEMENTS)
#2、创建一个R数据库
t_demo<-data.frame(
a=seq(1:10),
b=letters[1:10],
c=rnorm(10)
)
print(t_demo)
#3、写数据到数据库中,数据库的表名为:t_demo1,overwrite表示覆盖原表数据;
dbWriteTable(conn, "t_demo1", t_demo,overwrite = TRUE)
#5、关闭连接
dbDisconnect(conn)
例2:
library(DBI)
library(RMariaDB)
conn = dbConnect(RMariaDB::MariaDB(),dbname="d_sample",
username="root",
password="123456",
client.flag=CLIENT_MULTI_STATEMENTS)
student = data.frame(学号=c("201507001","201507002","201507003"),
姓名=c("张卫健","张文静","李嘉欣"),
性别=c("男","女","女"),
出生日期=c("1996-01-20","1998-2-6","2000-10-28"),
民族=c("汉族","苗族","汉族"),
政治面貌=c("共青团员","中共党员","共青团员"))
print(student)
dbWriteTable(conn, "Rstudent", student,overwrite = TRUE)
dbDisconnect(conn)