0

重複した画像を別のディレクトリに保存しています。すべての画像の場所がデータベースに保存されているため、重複するデータ行を削除したいと思います。このクエリを使用して、同じディレクトリ内の重複する画像の場所を探すことができます。

SELECT *
FROM page_additional_images
GROUP BY image_loc
HAVING COUNT(image_loc) > 1

ただし、 &などの異なるディレクトリにある画像では機能しません。carscars4

/images/**cars**/hispano-suiza-k6-pictures-and-wallpapers/hispano-suiza-k6.jpg
/images/**cars4**/hispano-suiza-k6-pictures-and-wallpapers/hispano-suiza-k6.jpg

上記のクエリを実行して、最後の ""の前のすべてを無視して重複を探すにはどうすればよい/ですか?

各行を「/」で展開し、各配列の最後の要素のみをクエリしたいと思います。

4

2 に答える 2

0

私の知る限り、MySQLでPHPスタイルの分解に最も近いのは、SUBSTRING_INDEX(delim ='/'、負のcount引数、たとえばファイル名のみを取得する場合は-1)を使用することです: http://dev。 mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index

于 2012-09-02T04:44:18.173 に答える
-2

各エントリに一意のIDを与えることができ、mysqlは重複したエントリが作成されたかどうかを自動的に通知し、データベースへのクエリを防止します。mysqlマニュアルでUNIQUEINDEXを検索します

于 2012-09-02T04:37:57.530 に答える