是否可以在 Kdb+ 中创建一张只有一个空主键列的表?

Xav*_* Z. 0 database time-series kdb

我尝试创建一个只有一列的空表,并将该列设置为主键。但我失败了,直到表中出现另一列。

是否不应该创建一个只有一个键列的空表?

// this failed
et :([pk:`symbol$()])
// this makes, means simgle emtpy key column is available
emptyTable:([primaryKey:`symbol$()] c1:())
// this makes too, means single empty column is available
t1:([]c1:())
Run Code Online (Sandbox Code Playgroud)

小智 5

键表不是表,它是将键记录表映射到值记录表的字典。它的类型为 99h。您可以使用 parse 来查看键控表是如何形成的

q)parse "([pk:`symbol$()]c1:())"
!
(+:;(!;,,`pk;(enlist;($;,`symbol;()))))
(+:;(!;,,`c1;(enlist;())))
Run Code Online (Sandbox Code Playgroud)

使用 ”!” 创建字典需要两个参数,否则返回解析错误