跳转至

UPDATE EDGE

UPDATE EDGE语句可以修改边上 Edge type 的属性。

Nebula Graph 支持 CAS(compare and swap)操作。

语法

ngql UPDATE EDGE ON <edge_type> <src_vid> -> <dst_vid> [@<rank>] SET <update_prop> [WHEN <condition>] [YIELD <output>]

参数 是否必须 说明 示例
ON <edge_type> 指定 Edge type。要修改的属性必须在这个 Edge type 内。 ON serve
<src_vid> 指定边的起始点 ID。 "player100"
<dst_vid> 指定边的目的点 ID。 "team204"
<rank> 指定边的 rank 值。 10
SET <update_prop> 指定如何修改属性值。 SET start_year = start_year +1
WHEN <condition> 指定过滤条件。如果<condition>结果为falseSET子句不会生效。 WHEN end_year < 2010
YIELD <output> 指定语句的输出格式。 YIELD start_year AS Start_Year

示例

```ngql // 用 GO 语句查看边的属性值。 nebula> GO FROM "player100" \ OVER serve \ YIELD properties(edge).start_year, properties(edge).end_year; +------------------+----------------+ | serve.start_year | serve.end_year | +------------------+----------------+ | 1997 | 2016 | +------------------+----------------+

// 修改属性 start_year 的值,并返回 end_year 和新的 start_year。

nebula> UPDATE EDGE ON serve "player100" -> "team204"@0 \ SET start_year = start_year + 1 \ WHEN end_year > 2010 \ YIELD start_year, end_year; +------------+----------+ | start_year | end_year | +------------+----------+ | 1998 | 2016 | +------------+----------+ ```


最后更新: 2026年8月17日