-1

テスト データベースを作成しようとしたときに失敗し、特定のテーブル内のすべてを誤って複製してしまいました。基本的に、以前はすべてのエントリが 2 つありました。これを修正する簡単な方法はありますか?(InnoDB テーブルを使用)

4

1 に答える 1

0

自動インクリメント主キーを使用するもう 1 つの正当な理由です。そうすれば、行が完全に重複することはありません。

おそらく最速の方法は、データを別のテーブルにコピーし、最初のテーブルを切り捨てて、再度挿入することです。

create temporary table tmp as
   select distinct *
   from test;

truncate table test;

insert into test
    select *
    from tmp;

少し注意してください: ほとんどの場合、insertステートメントで完全な列リストを使用することをお勧めします。これは、オプションである 1 つのケースです。結局のところ、すべての列を別のテーブルに配置し、後でそれらをステートメントに戻すだけです。

于 2014-06-20T10:26:18.527 に答える