如何在Cassandra中使用cql-exec插入含分号的数据?
解决CQL脚本中字符串含半角分号导致执行中断的问题
有两种可靠的方法可以解决这个问题:
使用CQL多行字符串语法
Cassandra的CQL支持用三个连续单引号(''')包裹包含特殊字符的字符串,这样内部的半角分号不会被当作语句结束符解析。修改你的示例语句如下:INSERT INTO my_table (c1, c2, c3) VALUES ('value1', '''semi ; colon''', 'value3');注:仅当字符串内部出现三个连续单引号时才需要转义,你的场景里直接用三个单引号包裹带分号的内容即可。
修改IntelliJ的CQL语句分隔符
在IntelliJ的Database工具中调整执行配置:- 打开setup.cql文件,点击右上角执行按钮旁的下拉菜单,选择「Edit Configurations」
- 在配置面板里找到「Statement separator」选项,把默认的
;改成不冲突的符号(比如$$) - 同步修改脚本的语句结尾:
INSERT INTO my_table (c1, c2, c3) VALUES ('value1', 'semi ; colon', 'value3');$$
这样IntelliJ会用新的符号识别语句结束,字符串里的分号就不会触发执行中断了。
这两种方法都能解决你的问题,该需求完全可以实现。
内容的提问来源于stack exchange,提问作者Carnifex
相关产品推荐
相关产品推荐

