在 orientdb 更新操作中转义分号和引号
Escaping semicolon and quotes in orientdb update operation
我 运行 在尝试使用分号和引号更新字符串时遇到奇怪的错误。例如,以下 sql 失败并显示错误:
"java.lang.IllegalStateException: Missing closed string character: '"', position: 64:
UPDATE #26:185 SET description = "<div style=\"text-align: right;\">Text</div>";
但是,如果删除“;”,sql 有效:
UPDATE #26:185 SET description = "<div style=\"text-align: right\">Text</div>";
此外,如果删除转义引号,但保留 ';',sql 有效:
UPDATE #26:185 SET description = "Text;";
这是 orientdb 的核心问题还是我没有正确转义字符串?
我正在尝试使用 OrientDB 2.1.11 版本
结构:
create class MyClass extends V
create property MyClass.description string
create vertex MyClass set description = "Text"
MyClass 数据集:
select from MyClass
----+-----+-------+-----------
# |@RID |@CLASS |description
----+-----+-------+-----------
0 |#12:0|MyClass|Text
----+-----+-------+-----------
现在我用您的第一个更新查询更新记录 #12:0
:
UPDATE #12:0 SET description = "<div style=\"text-align: right;\">Text</div>";
Updated record(s) '1' in 0,032000 sec(s).
已更新 MyClass 数据集:
select from MyClass
----+-----+-------+------------------------------------------
# |@RID |@CLASS |description
----+-----+-------+------------------------------------------
0 |#12:0|MyClass|<div style="text-align: right;">Text</div>
----+-----+-------+------------------------------------------
应该是后续版本已经解决了,能不能用最新稳定版的OrientDB试试?
我试过使用 2.1.2,没有你的例外
UPDATE #13:0 SET description = "<div style=\"text-align: right;\">Text</div>"
希望对您有所帮助。
我 运行 在尝试使用分号和引号更新字符串时遇到奇怪的错误。例如,以下 sql 失败并显示错误:
"java.lang.IllegalStateException: Missing closed string character: '"', position: 64:
UPDATE #26:185 SET description = "<div style=\"text-align: right;\">Text</div>";
但是,如果删除“;”,sql 有效:
UPDATE #26:185 SET description = "<div style=\"text-align: right\">Text</div>";
此外,如果删除转义引号,但保留 ';',sql 有效:
UPDATE #26:185 SET description = "Text;";
这是 orientdb 的核心问题还是我没有正确转义字符串?
我正在尝试使用 OrientDB 2.1.11 版本
结构:
create class MyClass extends V
create property MyClass.description string
create vertex MyClass set description = "Text"
MyClass 数据集:
select from MyClass
----+-----+-------+-----------
# |@RID |@CLASS |description
----+-----+-------+-----------
0 |#12:0|MyClass|Text
----+-----+-------+-----------
现在我用您的第一个更新查询更新记录 #12:0
:
UPDATE #12:0 SET description = "<div style=\"text-align: right;\">Text</div>";
Updated record(s) '1' in 0,032000 sec(s).
已更新 MyClass 数据集:
select from MyClass
----+-----+-------+------------------------------------------
# |@RID |@CLASS |description
----+-----+-------+------------------------------------------
0 |#12:0|MyClass|<div style="text-align: right;">Text</div>
----+-----+-------+------------------------------------------
应该是后续版本已经解决了,能不能用最新稳定版的OrientDB试试?
我试过使用 2.1.2,没有你的例外
UPDATE #13:0 SET description = "<div style=\"text-align: right;\">Text</div>"
希望对您有所帮助。