sql
コマンドを使用して行を削除することに関する多くの投稿を見てきましたが、 mediumtext
. 次のようなソリューションから
エラーが発生し続けます。Error Code: 1170. BLOB/TEXT column used in key specification without a key length
ALTER IGNORE TABLE foobar ADD UNIQUE (title, SID)
私のテーブルはシンプルです。 の重複をチェックする必要がありmytext
、id
一意であり、それらはAUTO_INCREMENT
です。
注意として、テーブルには約 100 万行あり、すべての試行がタイムアウトし続けます。また、AmazonでWHERE id>0 AND id<100
使用しているなどのバッチでアクションを実行するソリューションが必要ですMySQL Workbench
RDS
こんなテーブルから
+---+-----+-----+------+-------+
|id |fname|lname|mytext|morevar|
|---|-----|-----|------|-------|
| 1 | joe | min | abc | 123 |
| 2 | joe | min | abc | 123 |
| 3 | mar | kam | def | 789 |
| 4 | kel | smi | ghi | 456 |
+------------------------------+
こんなテーブルに仕上げたい
+---+-----+-----+------+-------+
|id |fname|lname|mytext|morevar|
|---|-----|-----|------|-------|
| 1 | joe | min | abc | 123 |
| 3 | mar | kam | def | 789 |
| 4 | kel | smi | ghi | 456 |
+------------------------------+
更新amazon
RDS
は、これが私のテーブルを使用していることに言及するのを忘れていましたが、非常に大きく、このSQLコマンドからmysql workbench
エラーが発生し続けています:Error Code: 1205. Lock wait timeout exceeded
DELETE n1 FROM names n1, names n2 WHERE n1.id > n2.id AND n1.name = n2.name
また、他の誰かがMySQL workbench
タイムアウトの問題を抱えている場合、修正は
Go to Preferences -> SQL Editor and set to a bigger value this parameter:
DBMS connection read time out (in seconds)