Warm tip: This article is reproduced from serverfault.com, please click

其他-来自具有反斜杠字符的JSON数据类型列的MySQL查询

(其他 - MySQL query from JSON datatype column that has backslash character)

发布于 2020-11-28 01:28:37

我在MySQL的JSON列中查询元素时遇到困难

这是我的数据: 在此处输入图片说明

列中内容的示例: {\order\":[{\"product_id\":3,\"quantity\":5,\"product_name\":\"Ikan salmon bakar \"}]}"

我正在使用此sql语法:

SELECT JSON_EXTRACT(order_list, '$.order[*].product_id') FROM orders_copy WHERE id = 3;

如果我对包含反斜杠的列使用此查询,则它将产生null。

在此处输入图片说明

预期结果(例如:):

在此处输入图片说明

我不确定是否应该删除反斜杠,以便查询将产生结果,或者是否有任何有效的方法来解决它?

非常感谢

Questioner
Syahirah AR
Viewed
0
Syahirah AR 2020-11-29 14:39:43

我找到了上面提到的问题的答案。

只是我通过以下链接找到了答案:https : //dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html#function_json-replace,我在其中搜索什么代码与MySQL版本兼容以迎合特殊字符。对于反斜杠,我正在使用JSON_UNQUOTE()

我在这里提出解决方案:https : //www.db-fiddle.com/f/i7EpX4Qq86iJWFkPgzMhVX/0

感谢那些帮助:)