【问题标题】:mysql putty command delete duplicatesmysql putty 命令删除重复项
【发布时间】: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”

标签: mysql command-line ssh duplicates putty


【解决方案1】:

最好使用像这样更简单的查询来删除

DELETE FROM T2 WHERE LINK IN 
(SELECT T2.LINK FROM T1 JOIN T2 ON (T2.PAGE=T1.PAGE AND T2.LINKID > T1.LINKID))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多