MYSQL で重複レコードを削除し、1 つのレコードをランダムに保持するにはどうすればよいですか?
質問する
428 次
1 に答える
6
ALTER TABLE
一意のインデックスを追加するために使用しIGNORE
、エラーが発生しないようにオプションを指定します。
ALTER IGNORE TABLE mytable
ADD UNIQUE INDEX (products_id, categories_id);
アップデート:
選択をランダムにするには、古いテーブルと同じスキーマで新しいテーブルを作成しますが、これらの列には一意のキーを使用します。次に、次のようにします。
INSERT IGNORE INTO newtable
SELECT * from oldtable
ORDER BY RANDOM();
ランダムな順序での各複製の最初のものが新しいテーブルに挿入され、残りは IGNORE オプションにより無視されます。
于 2012-10-20T08:17:12.157 に答える