2012-10-24 68 views
0

我想删除mysql数据库MySQL的腻子命令删除重复

从phpmyadmin的这个命令就可以了SMaL公司数据库中有重复的联系,但得到的一些时间,我有表

DELETE T2 FROM 5GB的数据错误链接t1 JOIN链接t2 ON(t2.page = t1.page AND t2.linkID> t1.linkID);

我想删除腻子SSH重复链接,但得到的错误:

[[email protected]]# mysql -p 

输入密码: 欢迎到MySQL监视器。命令结束于;或\ g。 您的MySQL连接ID是11433 服务器版本:5.5.28 Remi的MySQL社区服务器(GPL)

版权所有(c)2000,2012,Oracle和/或其附属公司。版权所有。

Oracle是Oracle Corporation和/或其子公司 子公司的注册商标。其他名称可能是其各自的 所有者的商标。

键入'help'或'\ 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> 

怎么样?

+0

的错误是从查询中的第一行删除。 'select database'应该是'use databasename';' (将'databasename'更改为实际名称),并且在每个单独查询的末尾,您需要放置一个分号。尽管您的DELETE查询也有语法错误。 – sn00k4h

+0

我已经选择了一个好的数据库名称,它的一个例子可能是nedd一些simbol输入格式如何?用腻子? –

+0

该命令是“USE数据库”而不是“SELECT database” – sn00k4h

回答

1

最好是使用更简单的查询像这样

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