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