You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cassandra导入RazorSQL导出的INSERT格式.sql文件报错如何解决

Cassandra导入RazorSQL导出的INSERT脚本语法错误修复方案

问题根因

该报错由RazorSQL导出blob类型字段时不符合CQL语法规则导致:CQL要求blob类型的字面量必须以0x为前缀,后跟十六进制字符,不需要包裹单引号。但RazorSQL默认导出Cassandra的blob字段时,会将其处理为带单引号的纯十六进制字符串,CQL解析器无法识别该格式,进而触发mismatched character '0' expecting '-'语法错误。

修复步骤

  • 修正导出脚本中blob字段的格式
    打开导出的script.sql文件,对4个blob字段的取值做两处调整:

    1. 删除blob值外层的单引号
    2. 在每个blob十六进制字符串的开头添加0x前缀

    错误示例:

    INSERT INTO "A"."B" ("systemId", "blob_col1", "blob_col2", "blob_col3", "blob_col4") 
    VALUES ('CZ3741X5K8', 'A1B2C3D4', 'E5F67890', '12345678', '90ABCDEF');
    

    修正后正确示例:

    INSERT INTO "A"."B" ("systemId", "blob_col1", "blob_col2", "blob_col3", "blob_col4") 
    VALUES ('CZ3741X5K8', 0xA1B2C3D4, 0xE5F67890, 0x12345678, 0x90ABCDEF);
    
  • 额外校验项
    若修正格式后仍报错,检查INSERT语句是否存在非预期的换行:RazorSQL导出超长blob值时可能自动拆分换行,导致CQL语句不完整,将同一条INSERT语句的内容合并为单行即可。

  • (可选)调整导出配置避免重复问题
    后续使用RazorSQL导出Cassandra含blob字段的表时,在导出设置页找到二进制/Blob字段导出格式选项,选择CQL兼容blob格式,即可直接生成带0x前缀的合法blob值,无需手动修正。

验证

修正完成后重新执行导入命令即可:

cqlsh -f script.sql

内容的提问来源于stack exchange,提问作者user9920500

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 03:51:04