我得到一个奇怪的mysql错误,我从来没有真正看到过。它是由一个类似于下面的查询引起的。有什么建议吗?
SELECT *
FROM table
WHERE col REGEXP '^* MAN *$'
LIMIT 100
错误:
# 1139 - Got error 'repetition-operator operand invalid' from regexp
--更新--
好的,我可以确认以下两种解决方案有效。感谢以下两个答案的帮助:
SELECT *
FROM table
WHERE col REGEXP '^(\\*) MAN (\\*)$'
LIMIT 100
SELECT *
FROM table
WHERE col REGEXP '^[*] MAN [*]$'
LIMIT 100
2条答案
按热度按时间goqiplq21#
\和本身是元字符,这就是为什么后面要跟两个,所以seconod也不被认为是一个文字,而是元字符
这将起作用:
请参见链接其工作原理now:http://sqlfiddle.com/#!9/e695cf/1/0型
whlutmcx2#
例如,如果你想匹配“bla-blamanbla-bla”,这应该是可行的
如果你想匹配“人”
或者没有regexp