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

如何在Trino的VARCHAR列中插入含单引号的JSON对象?

解决Trino中插入含单引号的JSON字符串报错问题

你遇到的问题根源是SQL用单引号标记字符串边界,JSON里的单引号会被误判成字符串结束符,导致语句语法不闭合。给你三种实用解决办法:

  • 转义单引号:在SQL规则里,单引号的转义方式是再加一个单引号。把JSON里每个'替换成'',再用单引号把整个字符串括起来。比如原JSON{'key': 'value'}对应的插入语句:

    INSERT INTO your_table (json_column) VALUES ('{'key'': ''value''}')
    
  • 改用标准JSON格式:把JSON里的单引号换成双引号(符合官方JSON规范),直接用单引号包裹整个字符串插入,这样内部双引号不会和外部单引号冲突,还能方便后续的JSON解析操作:

    INSERT INTO your_table (json_column) VALUES ('{"key": "value"}')
    
  • 用参数化查询:如果是通过代码执行插入操作,优先用参数化语句,驱动会自动处理转义逻辑,还能避免SQL注入风险。比如Java JDBC的示例代码:

    String targetJson = "{'key': 'value'}";
    String sql = "INSERT INTO your_table (json_column) VALUES (?)";
    PreparedStatement pstmt = connection.prepareStatement(sql);
    pstmt.setString(1, targetJson);
    pstmt.executeUpdate();
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:50:38