我已经看到很多关于使用命令删除行的帖子,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
。
请注意,该表有大约一百万行,并且所有尝试都会超时。我需要一个分批执行操作的解决方案,例如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
使用mysql workbench
我的表非常大,我不断收到Error Code: 1205. Lock wait timeout exceeded
这个 sql 命令的错误:
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)