在R中,我有一个字符串的矢量“myVector”,我希望将其插入到mysql表“myTable”的列“myColumn”中.我知道我可以编写SQL查询并使用dbSendQuery在R中运行它.所以让我们先找出SQL查询.这是一个例子:
@H_301_6@myVector = c("hi","I","am")
让我们在myTable的myColumn列中插入myVector,行号为3到5,这里是SQL查询,除了最后一行我不知道:
@H_301_6@UPDATE myTable t JOIN (SELECT id FROM myTable tt LIMIT 3,3 ) tt ON tt.id = t.id SET myColumn = myVector;
谢谢
最佳答案
我不知道,如果MysqL支持Vector数据类型,但你可以将你的表设计为解决方法,其中Vector可以存储在不同的表中,并且与myTable的关系为1-M.
这有助于您轻松管理和检索详细信息.所以,假设myTable是你的桌子,它的现有设计是:
@H_301_6@myTable ------- id col1 vectorCol
所以,你主表可以
@H_301_6@CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT,col1 varchar(50),PRIMARY KEY (id) );
和表格将存储你的矢量.
@H_301_6@CREATE TABLE vectorTab ( id INT NOT NULL AUTO_INCREMENT,-- in case ordering matter parent_id INT NOT NULL,value TEXT,PRIMARY KEY (id),FOREIGN KEY (parent_id) REFERENCES myTable (id) ON DELETE CASCADE ON UPDATE CASCADE );