我有重复的图像保存在不同的目录中。因为每个图像位置都存储在数据库中,所以我想删除重复的数据行。我可以使用此查询在同一目录中查找重复的图像位置:
SELECT *
FROM page_additional_images
GROUP BY image_loc
HAVING COUNT(image_loc) > 1
但是,它不适用于不同目录中的图像,例如cars
&CCD_ 2。
/images/**cars**/hispano-suiza-k6-pictures-and-wallpapers/hispano-suiza-k6.jpg
/images/**cars4**/hispano-suiza-k6-pictures-and-wallpapers/hispano-suiza-k6.jpg
我如何接受上面的查询并忽略最后一个"/
"之前的所有内容来查找重复项?
我想用"/"分解每一行,并且只查询每个数组中的最后一个元素。
据我所知,在MySQL中最接近PHP风格爆炸的是SUBSTRING_INDEX(delim='/',带负计数参数,例如-1,只获取文件名):http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-索引
您可以为每个条目提供一个唯一的id,mysql可以自动判断是否创建了重复条目,并阻止将其查询到数据库中。在mysql手册中查找UNIQUE INDEX