0

sqlコマンドを使用して行を削除することに関する多くの投稿を見てきましたが、 mediumtext. 次のようなソリューションから

エラーが発生し続けます。Error Code: 1170. BLOB/TEXT column used in key specification without a key length

ALTER IGNORE TABLE foobar ADD UNIQUE (title, SID)


私のテーブルはシンプルです。 の重複をチェックする必要がありmytextid一意であり、それらはAUTO_INCREMENTです。
注意として、テーブルには約 100 万行あり、すべての試行がタイムアウトし続けます。また、AmazonでWHERE id>0 AND id<100
使用しているなどのバッチでアクションを実行するソリューションが必要ですMySQL WorkbenchRDS

こんなテーブルから

+---+-----+-----+------+-------+
|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)

4

2 に答える 2