MySQL错误:出现错误'空(子)表达式'来自regexp

时间:2015-09-30 09:15:26

标签: php mysql

我正在运行包含以下代码的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错误:出现错误'空(子)表达式'来自regexp

这是什么意思?以及如何避免它?

1 个答案:

答案 0 :(得分:0)

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

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

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

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