【问题标题】:MySQL JSON Handling -> and ->> operators don't workMySQL JSON 处理 -> 和 ->> 运算符不起作用
【发布时间】:2021-06-28 14:31:29
【问题描述】:

我有一个问题。

我正在尝试在 mariaDB 中以箭头形式应用以下查询以供 php 使用。

SELECT JSON_UNQUOTE(JSON_EXTRACT(`Purpose Link`,"$.id[0]")) AS 'Item ID' FROM `financial_instruments` WHERE `Instrument ID` = 0;

据我了解,箭头符号形式必须如下所示。

SELECT `Purpose Link`->>"$.id[0]" AS 'Item ID' FROM `financial_instruments` WHERE `Instrument ID` = 0;

但是第二个表达式不起作用。它向 Maria DB 服务器版本发出 #1064 语法错误。 我使用的存储引擎是表的 InnoDB。

有谁知道我该如何解决这个问题?

【问题讨论】:

  • Small Point MySQL 和 mariaDB 相似但不一样,如果你实际使用的是 mariaDB,最好标记它
  • 为了能够提供帮助,我们需要查看架构以及至少该列中的数据示例。看... 为什么我要提供Minimal Reproducible Example for any SQL query question?
  • 抱歉,我正在使用 XAMPP。虽然控制面板显示 MySQL 正在使用中,但在访问 PhpMyAdmin 仪表板时,它会显示 Maria DB 正在使用中。 Maria 不像 MySQL 那样支持提取 (-> 及其未引用的对应项 ->>) JSON 运算符。粗略的研究表明,虽然运算符的目的不仅仅是作为别名,而是作为独立的语法来实现,但在过去 3 年里,这个方向并没有取得进展。

标签: json syntax mariadb operator-keyword


【解决方案1】:

使用 XAMPP v.3.2.4。虽然控制面板显示 MySQL 正在使用中,但当访问 PhpMyAdmin 仪表板时,它显示 Maria DB 实际正在使用中。 Maria 不像 MySQL 那样支持提取 (-> 及其未引用的对应项 ->>) JSON 运算符。粗略的研究表明,虽然运算符的目的不仅仅是作为别名,而是作为独立的语法来实现,但在过去 3 年里,在这个方向上并没有取得进展。

【讨论】:

    猜你喜欢
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 2016-09-20
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多