2010-09-22 85 views
1

我有一個表名爲tblm_customer刪除mysql中同一表的重複記錄

它包含字段名爲firstnamelastname。現在我想刪除表中包含相同名字和姓氏的所有記錄。

我用mysql數據庫,customerid是表中的主鍵。

+0

做兩個記錄具有相同的名字/姓氏也有相同的customerid? – eumiro 2010-09-22 09:19:03

+0

沒有customerid是唯一的,因爲它是主鍵 – chetan 2010-09-22 09:20:07

+0

可能的重複[如何從MySQL表中刪除重複的行](http://stackoverflow.com/questions/5770228/how-to-delete-duplicate-rows-from- a-mysql-table) – Basilevs 2014-09-16 15:48:52

回答

4

以下刪除刪除所有重複,讓你有最新的客戶ID

一記警告,雖然。我不知道你的使用案例,但完全有可能讓兩個名字完全相同的人(我們甚至有一次地址相同)。

DELETE c1 
FROM tblm_customer c1 
     , tblm_customer c2 
WHERE c1.FirstName = c2.FirstName 
     AND c1.LastName = c2.LastName 
     AND c1.CustomerID < c2.CustomerID 
+0

它將發生錯誤1093(HY000):你不能指定目標表'TBLM_CUSTOMER'在FROM子句錯誤中更新,如 – chetan 2010-09-22 12:54:30

+0

@chetan,我已經改變了語句。前面的語句與SQL Server一起工作。這應該使用MySQL。 – 2010-09-22 13:05:02