如果 mytable.text 将关键字作为“关键字”(带引号),则正则表达式无法找到它。
SELECT *
FROM `mytable`
WHERE `mytable`.`Text`
REGEXP CONCAT('[[:<:]]', 'keyword', '[[:>:]]'))
我看到在数据库中关键字保存为:“keyword”
列属性为 LONGTEXT latin1_swedish_ci。
我希望能够使用单词边界,但双引号除外。
最佳答案
您的问题是数据库中的数据不正确,而不是查询。 “keyword”不是“keyword”,将“”改为普通的引号,就可以了。看 fiddle :
http://www.sqlfiddle.com/#!2/674b3/1
两条记录:不带引号和带引号都是从数据库中选择的。
关于当关键字用双引号引起来时,MYSQL REGEXP 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16913617/