如何在mysql中将向量插入表的列?

Moh*_*mad 5 mysql sql vector rmysql

在R中,我有一个字符串的矢量"myVector",我希望将其插入到mysql表"myTable"的列"myColumn"中.我知道我可以编写sql查询并使用dbSendQuery在R中运行它.所以让我们先找出sql查询.这是一个例子:

myVector = c("hi","I", "am")
Run Code Online (Sandbox Code Playgroud)

让我们在myTable的myColumn列中插入myVector,行号为3到5,这里是sql查询,除了最后一行我不知道:

UPDATE myTable t JOIN
       (SELECT id
        FROM myTable tt
        LIMIT 3, 3
       ) tt
       ON tt.id = t.id
    SET myColumn = myVector;
Run Code Online (Sandbox Code Playgroud)

谢谢

Rav*_*avi 1

我不知道MySQL是否支持Vector数据类型,但是您可以将表设计为可以存储在不同表中并且与asVector相关的解决方法。myTable1-M

这可以帮助您轻松管理和检索详细信息。因此,假设myTable您的桌子及其现有设计是:

myTable
-------
id
col1
vectorCol
Run Code Online (Sandbox Code Playgroud)

所以,你的主表可以是

CREATE TABLE myTable (
    id        INT NOT NULL AUTO_INCREMENT,
    col1  varchar(50),
    PRIMARY KEY (id)
);
Run Code Online (Sandbox Code Playgroud)

和将存储您的向量的表。

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
);
Run Code Online (Sandbox Code Playgroud)