我有一个3列的表:id
,date
和name
。我正在寻找的是删除具有重复名称的记录。该规则应该保留具有最早日期的记录。例如在下面的例子中,有3个记录名为Paul。所以我想保留一个最早的日期(id=1)
,并删除所有其他的(id = 4 and 6)
。我知道如何进行插入,更新等查询,但在这里我看不到如何使这个技巧工作。PHP SQL - 高级删除查询
id, date, name
1, 2012-03-10, Paul
2, 2012-03-10, James
4, 2012-03-12, Paul
5, 2012-03-11, Ricardo
6, 2012-03-13, Paul
mysql_query(?);
Hello Starx。刚好有时间来测试你今天早上提出的建议。我喜欢它,因为它很简单。问题是,在运行插入查询时,是否有办法知道该记录是否已被插入,因为表中已存在该值。我试过mysql_error,但没有检索到这种情况... – Marc 2012-03-26 09:55:28
@Marc,你可以检查mysql的[insert on duplicate](http://dev.mysql.com/doc/refman/5.0/en/insert-on- duplicate.html) – Starx 2012-03-26 10:10:32