我的脚本很简单。如何在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
的功率)。