我的腳本很簡單。如何在mysql中找到文件名喜歡%_1.jpg%沒有找到_11.jpg
SELECT file_name FROM images WHERE `id` = '$id' AND `file_name` LIKE '%_1.jpg'
當我在mysql中返回(ID)_1.jpg並運行此(ID)_11.jpg 我怎樣才能使它只能找到(ID)_1.jpg?
我的腳本很簡單。如何在mysql中找到文件名喜歡%_1.jpg%沒有找到_11.jpg
SELECT file_name FROM images WHERE `id` = '$id' AND `file_name` LIKE '%_1.jpg'
當我在mysql中返回(ID)_1.jpg並運行此(ID)_11.jpg 我怎樣才能使它只能找到(ID)_1.jpg?
你必須逃離下劃線:
SELECT file_name FROM images WHERE `id` = '$id' AND `file_name` LIKE '%\_1.jpg'
參考:http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like
這是因爲_
比賽任何單個字符,而不是文字下劃線。
你可以逃避下劃線\_
,但我會認真考慮使用regexp
而不是like
,因爲它更具表現力和靈活性。
查看http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html瞭解詳情(使用_
的like
,以及regexp
的功率)。