我正在使用RmySQL创建数据并将数据加载到本地计算机上的表中......
首先,在db连接之后,我创建了我的表:
a<-dbSendQuery(new.db, 'CREATE TABLE ALL_PLATFORMS_INFO(
PLATFORM VARCHAR(15),
ID SMALLINT(5),
PROBESET_ID VARCHAR(30),
GENE_SYMBOL VARCHAR(20),
ENTREZ VARCHAR(15),
UNIGENE_ID VARCHAR(20),
GENE_TITLE VARCHAR(100),
DEPRECATED BOOLEAN,
PRIMARY KEY (ID,PLATFORM))
ENGINE=InnoDB;');
然后我加载一个数据框,其中包含相同的数据库列:
dbWriteTable(new.db, name='ALL_PLATFORMS_INFO', value=all.platforms.info.tab, row.names=F, append=T);
我的结构all.platforms.info.tab有67384行和8列,但当我在数据库上查询我的表时,我获得:55050行...
为了避免这种情况,我使用了overvrite = T标志,但是这样我就无法声明主键......
为什么dbWriteTable会以这种方式运行? 如何使用dbWriteTable声明主键?
谢谢!