我有兩個具有相同列(ID,名稱等)的表。但似乎我有兩個重複的行。我應該從table1移動/複製行到table2,但它不會讓我,因爲我有很多重複的行,我不能得到正確的語法來正確合併它們。SQL查詢:刪除具有相同列的不同表中的重複行
我使用phpMyAdmin,順便說一句。
有人可以幫忙嗎?先謝謝你。
我有兩個具有相同列(ID,名稱等)的表。但似乎我有兩個重複的行。我應該從table1移動/複製行到table2,但它不會讓我,因爲我有很多重複的行,我不能得到正確的語法來正確合併它們。SQL查詢:刪除具有相同列的不同表中的重複行
我使用phpMyAdmin,順便說一句。
有人可以幫忙嗎?先謝謝你。
如果你只是想刪除的是重複的行,做一個JOIN
這樣的:
DELETE table1.*
FROM table1
INNER JOIN table2 ON table2.Id = table1.Id
這樣做的竅門!非常感謝你:D直到現在我還不知道INNER JOIN,現在我會詳細閱讀以供將來使用,謝謝! – Suika
請參閱INSERT IGNORE
& ON DUPLICATE KEY UPDATE
從http://dev.mysql.com/doc/refman/5.5/en/insert.html
我明白了,但仍然無法形成從table1到table2的INSERT以及IGNORE相同行的正確語法。 :( – Suika
什麼是你已經嘗試了命令? –
我不知道這是否會有所幫助.. http://stackoverflow.com/questions/1577378/merge-and-then-delete-duplicate-entries –
嗯,我真的是新的SQL查詢和所有他們不工作。大聲笑。我試過了: SELECT * FROM table1,table2 WHERE table1.id = table2.id 查看我需要刪除的所有內容。但現在我不知道如何刪除這些。 我想根本就 DELETE * FROM表1,表2 WHERE table1.id = table2.id 雖然我有點肯定它不是正確的語法,但它是一個我需要做的。 – Suika