2013-06-04 39 views
0

如果mytable.text的關鍵字是「keyword」(帶引號),則正則表達式無法找到它。當關鍵字用雙引號括起來時,MYSQL REGEXP不起作用

SELECT * 
FROM `mytable` 
WHERE `mytable`.`Text` 
REGEXP CONCAT('[[:<:]]', 'keyword', '[[:>:]]')) 

我看到,在DB的關鍵字保存爲:①€œkeywordâ€

列屬性是LONGTEXT latin1_swedish_ci。

我希望能夠使用單詞邊界,但雙引號除外。

+0

您是否嘗試將排序規則更改爲utf8? – Stephan

+0

是否安全?實況製作DB在這裏.. – Honesta

回答

0

您的問題是數據庫中的數據不正確,而不是查詢。 「關鍵字」不是「關鍵字」,將「'換成普通的引用符號,它就會起作用。看看小提琴:

http://www.sqlfiddle.com/#!2/674b3/1

兩個記錄:無報價與報價從數據庫中選擇。