Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure data explorer Kusto查询以更新表列类型而不影响数据_Azure Data Explorer_Kql - Fatal编程技术网

Azure data explorer Kusto查询以更新表列类型而不影响数据

Azure data explorer Kusto查询以更新表列类型而不影响数据,azure-data-explorer,kql,Azure Data Explorer,Kql,我有一个kusto表,id:int和name:string字段中包含数据。我正在尝试将id:int的表模式类型更改为id:long。我尝试了下面的错误,但它抛出了下面的错误。我也试过了。改为。改为。改为合并,但运气不好。在不干扰当前数据的情况下,使用数据将现有表更新为表列类型的过程是什么 .alter-merge table mytable (Id: long, Name: string) 错误: 'Alter table不支持更改现有列(Id)的列数据类型。当前类型=I32,请求的类型=I6

我有一个kusto表,id:int和name:string字段中包含数据。我正在尝试将id:int的表模式类型更改为id:long。我尝试了下面的错误,但它抛出了下面的错误。我也试过了。改为。改为。改为合并,但运气不好。在不干扰当前数据的情况下,使用数据将现有表更新为表列类型的过程是什么

.alter-merge table mytable
(Id: long, Name: string)
错误:
'Alter table不支持更改现有列(Id)的列数据类型。当前类型=I32,请求的类型=I64。

以下是实现所需的过程:

  • 使用更新的架构创建名为
    OldTable
    的新表
  • 创建一个名为
    Table
    (应该是与原始表完全相同的名称)的函数,该函数将返回
    联合(OldTable | project id=tolong(id),name),(Table | project id=tolong(id),name)
    ——这样,每当有人编写
    Table
    ,它都会返回,他将调用函数,该函数将以正确的模式从两个表返回数据
  • 交换
    表格
    旧表格
  • OldTable
    表中的数据过期时(在保留期结束时),它将变为空,您必须首先删除
    table
    函数,然后删除
    OldTable