私の質問はSOで行われたと思いますが、答えは見つかりませんでした。
mytable
1つの列を持つmysqlテーブルがありますmycolumn
。
テーブルから重複を削除するためのmysqlクエリとは何ですか?
私の質問はSOで行われたと思いますが、答えは見つかりませんでした。
mytable
1つの列を持つmysqlテーブルがありますmycolumn
。
テーブルから重複を削除するためのmysqlクエリとは何ですか?
pkのない1つの列、またはそれらが異なるかどうかを確認するために使用できる別の列のみですか?はいの場合、これは悪い習慣です。このクエリを試すよりも、すべてのレコードに新しい列(数値)とIDを挿入することを検討してください。
delete from table
where counter > 1 and inner_query.mycolumn = table.mycolumn and inner_query.col_id = table.col_id from
(select mycolumn, col_id, count (mycolumn) counter
from table group by mycolumn
) inner_query
より、主キーを追加できます
トリガーや外部キーがない限り、これを実行する1つの方法があります。電話を使用しているためテストされていませんが、動作するはずです。この後、重複を防ぐためにmycolumnに一意のインデックスを作成することができます。
Create table _mytable
Select distinct mycolumn from mytable;
delete from mytable;
Insert into mytable(mycolumn)
Select mycolumn from _mytable;
Drop table _mytable;