【问题标题】:How to escape a period in mySql JSON query如何在 mySql JSON 查询中转义句点
【发布时间】:2021-04-08 05:46:13
【问题描述】:

我正在做一个项目,我需要使用 mySQL DB 以 JSON 格式存储数据。 我想以这种格式存储数据:

{
 email1:{ data:"This is some data of email1", status:"registered", count:100 },
 email1:{ data:"This is some data of email2", status:"unregistered", count:230 },
}

这里的 email1 和 email2 是作为密钥的某人的两封电子邮件。在执行查询以存储和检索这种格式的数据时,我发现电子邮件中也可能包含句点,例如:max.jhon@gmail.commaster.blaster01@gmail。 com.

由于键中存在句点,我无法在数据库中执行 json 查询。喜欢: SELECT JSON_EXTRACT(analytics, "$.max.jhon@gmail.com") FROM EmailsData; 由于 $.max.jhon@gmail.com 中存在句点而无法工作,并给我这个错误:

错误代码:3143。无效的 JSON 路径表达式。错误就在身边 字符位置 8.

有人可以建议我如何在查询中转义这些句点,如果没有,那么以 JSON 格式为各个电子邮件存储数据的最佳方法是什么?

【问题讨论】:

    标签: mysql json database mysql-workbench mysql-json


    【解决方案1】:

    您将需要使用类似于以下内容的单引号:

    '$."max.jhon@gmail.com"'
    

    请试一试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 2017-10-22
      相关资源
      最近更新 更多