mysql putty 命令删除重复项
Posted
技术标签:
【中文标题】mysql putty 命令删除重复项【英文标题】:mysql putty command delete duplicates 【发布时间】:2012-10-14 03:39:37 【问题描述】:我喜欢从 mysql 数据库中删除重复的链接
从 phpmyadmin 这个命令对于 smal 数据库是可以的,但是在我的表中有 5gb 数据的时候出现错误
DELETE t2 FROM Link t1 JOIN Link t2 ON (t2.page = t1.page AND t2.linkID > t1.linkID);
我喜欢从 putty ssh 中删除重复的链接,但出现错误:
[root@server]# mysql -p
输入密码: 欢迎使用 MySQL 监视器。命令以 ; 结尾或\g。 您的 MySQL 连接 ID 是 11433 服务器版本:5.5.28 MySQL Community Server (GPL) by Remi
版权所有 (c) 2000、2012,Oracle 和/或其附属公司。保留所有权利。
Oracle 是 Oracle Corporation 和/或其 附属公司。其他名称可能是其各自的商标 所有者。
键入“帮助;”或 '\h' 寻求帮助。输入 '\c' 清除当前输入语句。
mysql> select database
-> DELETE t2 FROM Link t1 JOIN Link t2 ON (t2.page = t1.page AND t2.linkID > t1.linkID);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELETE t2 FROM Link t1 JOIN Link t2 ON (t2.page = t1.page AND t2.linkID > t1' at line 2
mysql>
怎么做?
【问题讨论】:
错误来自查询的第一行。 “选择数据库”应该是“使用数据库名称;” (将 'databasename' 更改为实际名称),并且在每个单独的查询的末尾,您需要放置一个分号。虽然您的 DELETE 查询也有语法错误。 我选择了一个好的数据库名称,这是一个示例,可能需要一些符号,输入的格式如何?用腻子? 命令是“USE database”而不是“SELECT database” 【参考方案1】:最好使用像这样更简单的查询来删除
DELETE FROM T2 WHERE LINK IN
(SELECT T2.LINK FROM T1 JOIN T2 ON (T2.PAGE=T1.PAGE AND T2.LINKID > T1.LINKID))
【讨论】:
以上是关于mysql putty 命令删除重复项的主要内容,如果未能解决你的问题,请参考以下文章