在 KDB 中,如何批量插入包含字符串类型列的 table
In KDB, how to bulk insert into a table containing a column of type String
在具有字符串类型(不是符号)的列的 table 中,我可以逐行插入。但是批量插入不起作用!
t:([id:`int$()] str:()) /create table
`t insert(0, enlist enlist "test") /insert first row. This seems to need two enlist
`t insert(1, enlist "test1") /insert one more, this time with one enlist
`t insert (2 3; enlist "test2" enlist "test3") /trying to bulk insert fails
`t insert flip (2 3; enlist "test2" enlist "test3") /trying to bulk insert with flip also fails
我希望在插入命令中使用分号而不是逗号。这使得语法更简单,也更容易理解。由于逗号语法,第一次插入时需要 2 个 enlist。
您用于批量插入的语法不正确。非常简单如下:
q) t:([id:`int$()] str:()) / create table
q) `t insert (0;enlist "test") / insert first row
q) `t insert (1 2;("test1";"test2")) / bulk insert 2 rows
在具有字符串类型(不是符号)的列的 table 中,我可以逐行插入。但是批量插入不起作用!
t:([id:`int$()] str:()) /create table
`t insert(0, enlist enlist "test") /insert first row. This seems to need two enlist
`t insert(1, enlist "test1") /insert one more, this time with one enlist
`t insert (2 3; enlist "test2" enlist "test3") /trying to bulk insert fails
`t insert flip (2 3; enlist "test2" enlist "test3") /trying to bulk insert with flip also fails
我希望在插入命令中使用分号而不是逗号。这使得语法更简单,也更容易理解。由于逗号语法,第一次插入时需要 2 个 enlist。
您用于批量插入的语法不正确。非常简单如下:
q) t:([id:`int$()] str:()) / create table
q) `t insert (0;enlist "test") / insert first row
q) `t insert (1 2;("test1";"test2")) / bulk insert 2 rows