2012-10-24 67 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))