首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R,SQL代码块会生成语法错误。

R,SQL代码块会生成语法错误。
EN

Stack Overflow用户
提问于 2020-01-06 19:48:45
回答 1查看 567关注 0票数 1

目标:--我试图在R中编译一个标记文档,其中包含一些带有CREATE TABLE IF NOT EXISTS语句的SQL代码块。这些文件被发送到本地主机上的MySQL数据库。实际上,它们应该用来初始化一个数据库,而在Markdown中给了我空间来解释数据库的结构。

问题:不幸的是,代码在R中编译时会生成语法错误1064。但是,如果我在MySQL工作台中运行相同的SQL代码,它将正确执行。我相信问题就在针织品- rDBI - RMariaDB - MySQL链的某个地方,尽管我也不能排除用户错误。

这是我的MWE:

1. SQL

在文件SQL/mysqlcode.sql中,我有以下代码:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS rt_states (
    stateId INT AUTO_INCREMENT NOT NULL, 
    stateName VARCHAR(32) NOT NULL, 
    PRIMARY KEY (stateId)
);

CREATE TABLE IF NOT EXISTS rt_counties (
    countyId INT AUTO_INCREMENT NOT NULL, 
    countyName VARCHAR(75), 
    stateId INT, 
    PRIMARY KEY (countyId), 
        FOREIGN KEY (stateId) 
        REFERENCES rt_states (stateId) 
        ON DELETE RESTRICT ON UPDATE CASCADE
);

2. r标记

代码语言:javascript
复制
```{r dbconn}

图书馆(DBI)

图书馆(RMariaDB)

图书馆(这里)

db <- DBI::dbConnect(

drv = RMariaDB::MariaDB(),

dbname = "my_db",

主机= "localhost",

用户名= "my_username",

密码= "my_password“

)

knitr::opts_chunk$set(connection = "db")

代码语言:javascript
复制
```{sql my_sql_chunk, code = readLines(here("SQL/mysqlcode.sql"))}
代码语言:javascript
复制

值得注意的是,我也遇到了这些语法错误,试图使用RStudio的SQL集成来执行代码。

编辑。以下是SQL错误:

您的SQL语法出现了错误;请检查与MySQL服务器版本相对应的手册,以便在第7行1064

中使用接近“CREATE TABLE如果不存在rt_counties ( countyId INTO AUTO_INCREMENT NOT NUL”)的正确语法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-15 22:45:03

一次只允许一个语句。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59618089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档