0

と呼ばれるmysqlテーブルがありますurls

次のフィールドがあります

url
title (default null)
content (default null)

私のテーブルには多くの重複行があります。

それらの重複を削除したいと思います。

例えば

google.com - Google - search engine
google.com - null - null
google.com - Google - search engine

title = nullここで、行と重複行を削除したいと思います。

重複する行がないように、URLを一意にしたいだけです。

方法を教えてもらえますか?

4

3 に答える 3

3

これは最も簡単です:

create tableB like tableA;
INSERT INTO tableB SELECT DISTINCT * FROM tableA WHERE title IS NOT NULL;
DROP tableA;
RENAME tableB TO tableA;

運用環境であっても、削除と名前の変更は通常、ユーザーにはほとんど見えないほど迅速です。再確認して、適切なインデックスになっていることを確認してください。

于 2013-08-19T06:18:01.350 に答える