我有一个表“产品”,包含7个字段
1 Prod_id (PK)
2 Company_id
3 Name
3 Code
5 Start Date
6 End Date
7 Entry Date
8 Description
我想删除所有重复记录(匹配2个t0 6个字段进行复制),并且只保留一个具有最新输入日期的记录。
mysql中是否有任何查询来执行此任务。 要么 我怎么能用php做到这一点。
答案 0 :(得分:0)
您可以添加唯一索引并使用
删除重复项ALTER IGNORE TABLE Product
ADD UNIQUE INDEX dup_idx (Prod_id, Company_id, Name, Code,Start Date,End Date);
答案 1 :(得分:0)
试试这个:
过去我遇到了同样的问题。找到了解决方案。我提到如下查询:
DELETE FROM Product
USING Product, Product AS P
WHERE MIN(DATEDIFF(P.Entry_Date - Product.Entry_Date))
AND Product.Company_id = P.Company_id
AND Product.Name = P.Name
AND Product.Code = P.Code;
注意:添加&根据您的要求删除字段。
由于