我的脚本很简单。
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'
当我在 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(关于_
in的使用like
和 的力量regexp
)。