【发布时间】:2018-07-02 11:33:49
【问题描述】:
这个错误是什么意思?
Closing open result set, pending rowsError in result_create(conn@ptr, statement) : near "(": syntax error
当我想运行代码时会出现这个
```{r}
library(sqldf)
first <- dbConnect(SQLite(), dbname= "DATA.sqlite")
dbSendQuery(conn = first,
"CREATE TABLE COMPANY_MASTER
(
CompId INTEGER,
CompName TEXT,
Address TEXT,
DirectorName TEXT,
EmployeeNo INTEGER,
PRIMARY KEY(CompName)
)")
dbSendQuery(conn = first, "INSERT INTO COMPANY_MASTER
VALUES(1001,'Infosys','ABC1927','Dr.Sandeep',128)")
dbSendQuery(conn = first, "INSERT INTO COMPANY_MASTER
VALUES(1002,'Cognizant','ERT654','Michael',156)")
dbSendQuery(conn = first, "INSERT INTO COMPANY_MASTER
VALUES(1003,'Tata','PCD531','Sancheti',113)")
*
dbSendQuery(conn = first,
"CREATE TABLE INCOME
(
CompName TEXT,
In(2016) INTEGER,
In(2017) INTEGER,
In(2018) INTEGER,
FOREIGN KEY(CompName)
*
)")
dbSendQuery(conn = first, "INSERT INTO INCOME
VALUES('518361','528464','538646')")
dbSendQuery(conn = first, "INSERT INTO INCOME
VALUES('218434','205314','225815')")
dbSendQuery(conn = first, "INSERT INTO INCOME
VALUES('1038434','1184344','128434')")
CompMAst <- dbGetQuery(conn = first, "SELECT * FROM COMPANY_MASTER")
Income <- dbGetQuery(conn = first, "SELECT * FROM INCOME")
```
同时在
中给出上述错误dbSendQuery(conn = first,
"CREATE TABLE INCOME
(
CompName TEXT,
In(2016) INTEGER,
In(2017) INTEGER,
In(2018) INTEGER,
FOREIGN KEY(CompName)
)")
代码区域。这个错误是什么意思?是某种特定的格式错误吗?或者我错过了一些在执行之前必须提到的块。或者是否涉及其他一些包请帮助。
【问题讨论】:
-
在 result_create(conn@ptr, statement) 中给出错误错误:“)”附近:语法错误
-
dbSendQuery(conn = first, "CREATE TABLE INCOME ( CompName TEXT, In_2016 INTEGER, In_2017 INTEGER, In_2018 INTEGER )") -
但是为什么外键会报错呢?在这里不适用吗?如果我以后想使用连接或其他查询怎么办? @SatZ
-
这段代码只使用了 RSQLite 包中的函数,没有使用 sqldf 本身的函数。