Rah*_*hul 8 database insert primary-key kdb
我有以下表格:
           q) t:([s:`symbol$()] id:();id2:`int$())
Run Code Online (Sandbox Code Playgroud)
其中's'是主键,'id'col是常规类型.我在'id'列中插入列表(此例中的字符串)时试图理解以下行为:
a)Upsert有效但插入失败
          q) `t insert (`a;"gg";4)     // 'type 
          q) `t upsert (`a;"gg";4)     // works
Run Code Online (Sandbox Code Playgroud)
b)插入也需要登记主键:
    q)`t insert  (`a;enlist "gg";4)    // 'length
    q)`t insert  (enlist `a;enlist "gg";4)  // works
Run Code Online (Sandbox Code Playgroud)
幕后发生了什么?
我认为问题出在“gg”上 - 它是一个列表,因此无论您尝试插入一条记录还是多条记录,插入都会感到困惑。这:
`t insert (`a;"g";4)
Run Code Online (Sandbox Code Playgroud)
工作得很好。不幸的是,我不知道其他解决方法,但给出insert长度为一的记录列表:
`t insert (enlist `c;enlist "gg";enlist 4)
Run Code Online (Sandbox Code Playgroud)
我不确定发生了什么upsert,但它可能与通过修改实现它有关:.[;();,;]
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           1873 次  |  
        
|   最近记录:  |