Neo4j - CASE DETACH DELETE error: Invalid input 'S'
Neo4j - CASE DETACH DELETE error: Invalid input 'S'
我正尝试在特定情况下分离删除。我有以下查询。
MATCH (childNode)-[r]-(parentNode)
CASE WHEN childNode.version = 1
THEN DETACH DELETE childNode, parentNode
ELSE DETACH DELETE childNode
RETURN childNode, parentNode
我不断收到以下错误:
Neo.ClientError.Statement.SyntaxError: Invalid input 'S': expected 'l/L' (line 7, column 3 (offset: 425))
"CASE cv.version"
^
我不明白为什么会出现这个问题。据我所知,似乎没有无效输入。我究竟做错了什么?
CASE
只能用在 RETURN
或 WITH
中,将一个值转换为另一个值。您不能使用 CASE
进行条件查询。
所以对于你的情况,我建议你做两个查询:
MATCH (childNode {version:1})-[r]-(parentNode)
DETACH DELETE childNode, parentNode;
MATCH (childNode)-[r]-(parentNode)
DETACH DELETE childNode;
我正尝试在特定情况下分离删除。我有以下查询。
MATCH (childNode)-[r]-(parentNode)
CASE WHEN childNode.version = 1
THEN DETACH DELETE childNode, parentNode
ELSE DETACH DELETE childNode
RETURN childNode, parentNode
我不断收到以下错误:
Neo.ClientError.Statement.SyntaxError: Invalid input 'S': expected 'l/L' (line 7, column 3 (offset: 425))
"CASE cv.version"
^
我不明白为什么会出现这个问题。据我所知,似乎没有无效输入。我究竟做错了什么?
CASE
只能用在 RETURN
或 WITH
中,将一个值转换为另一个值。您不能使用 CASE
进行条件查询。
所以对于你的情况,我建议你做两个查询:
MATCH (childNode {version:1})-[r]-(parentNode)
DETACH DELETE childNode, parentNode;
MATCH (childNode)-[r]-(parentNode)
DETACH DELETE childNode;