【问题标题】:MySQL Error:Got error 'empty (sub)expression' from regexpMySQL 错误:从正则表达式中得到错误“空(子)表达式”
【发布时间】:2015-09-30 09:15:25
【问题描述】:

我正在运行一个包含以下代码的 SQL 查询:

IF(oa.affiliatetrack REGEXP '|MB[1-6]', ((ol.item_price_exVat * oloq.oq_item_qty) * 0.08) *1.20, ((ol.item_price_exVat * oloq.oq_item_qty) * 0.06) *1.20) as Original_Commission

当它在 MySQl 上运行时,它工作正常。当我移动到通过 PHP 自动运行脚本的 Linux 服务器时,它会返回此错误:

MySQL 错误:从正则表达式中得到错误“空(子)表达式”

这是什么意思?又该如何避免呢?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    在您的 REGEXP '|MB[1-6]' 代码字符串中有符号 |

    该符号的作用类似于 用于搜索变体,因此 |MB[1-6] 具有下一个搜索变体:

    • - 空字符串(这会在您的情况下生成错误)
    • MB1
    • MB2
    • MB3
    • MB4
    • MB5
    • MB6

    如果您在搜索字符串时需要| 之类的文本部分,请使用\|

    【讨论】:

      猜你喜欢
      • 2021-01-10
      • 2019-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      • 2013-11-26
      相关资源
      最近更新 更多