首页 > 解决方案 > 如何在 mySql JSON 查询中转义句点

问题描述

我正在做一个项目,我需要使用 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 格式存储相应电子邮件的数据的最佳方法是什么?

标签: mysqljsondatabasemysql-workbenchmysql-json

解决方案


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

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

请试一试。


推荐阅读