【问题标题】:delete duplicate record from same table in mysql从mysql中的同一个表中删除重复记录
【发布时间】:2010-09-22 21:04:01
【问题描述】:

我有一张名为tblm_customer 的表。

它包含名为firstnamelastname 的字段。现在我想从表中删除所有包含相同名字和姓氏的记录,这些记录已经在表中。

我用的是mysql数据库,customerid是表中的主键。

【问题讨论】:

标签: sql mysql


【解决方案1】:

删除后会删除所有重复项,为您留下最新的 CustomerID

不过,请注意警告。我不知道你的用例,但完全有可能有两个人的名字完全相同(我们甚至有一次相同的地址)。

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

【讨论】:

  • 它会产生ERROR 1093 (HY000): You can't specify target table 'TBLM_CUSTOMER' for update in FROM 子句错误,如
  • @chetan,我已经更改了声明。以前的语句适用于 SQL Server。这应该可以使用 MySQL。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-07
  • 1970-01-01
  • 2016-01-07
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
相关资源
最近更新 更多