Neo4j - 大小写分离删除错误:输入"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只能在RETURNWITH中使用,以将一个值转换为另一个值。不能使用CASE执行条件查询。

因此,在您的情况下,我建议您进行两个查询:

MATCH (childNode {version:1})-[r]-(parentNode)
DETACH DELETE childNode, parentNode;
MATCH (childNode)-[r]-(parentNode)
DETACH DELETE childNode;

相关内容

最新更新