複数列の一意のキーが必要なデータベース テーブルがあります。ただし、これらの列の 1 つは TEXT で、長さが 1000 文字にもなります (そのため、varchar も機能しません)。TEXT 列のため、実際にはそれらの列に一意のキーを設定できません。重複を削除する良い方法は何ですか? もちろん、速いのはいいことです。
質問する
452 次
2 に答える
2
unique
以下のように制約を追加します。
ALTER IGNORE TABLE table1
ADD UNIQUE unique_name(column1, comlumn1, column3 ... Text);
IGNORE
これは、制約の作成中に重複を削除するのに役立ちます。
于 2012-11-01T17:42:18.227 に答える
2
最善の方法は、UNIQUE INDEX
重複を避けるために a を使用することです。
一意として持つ必要がある列に新しい一意のキーを作成すると、テーブルの重複が自動的に消去されます。
ALTER IGNORE TABLE `table_name`
ADD UNIQUE KEY `key_name`(`column_1`,`column_2`);
このIGNORE
パーツでは、最初のエラーが発生した後にスクリプトを終了することはできません。デフォルトの動作は、重複を削除することです。
于 2012-11-01T17:44:32.937 に答える