我的脚本很简单。
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)。