我有一张表应该保留给定配置文件(用户id到用户id对)的访问者的踪迹。事实证明,我的SQL查询有点偏离,正在按照预期生成多个对,而不是单个对。事后看来,我应该对每个id + id对执行一个唯一的约束。删除除一个重复记录以外的所有记录
现在,我怎么可以去清理桌子?我想要做的是删除所有重复的对,只留下一个。
因此,例如更改此:
23515 -> 52525 date_visited
23515 -> 52525 date_visited
23515 -> 52525 date_visited
12345 -> 54321 date_visited
12345 -> 54321 date_visited
12345 -> 54321 date_visited
12345 -> 54321 date_visited
23515 -> 52525 date_visited
...
进入这个:
23515 -> 52525 date_visited
12345 -> 54321 date_visited
更新:这里是要求表结构:
id int(10) UNSIGNED Non Aucun AUTO_INCREMENT
profile_id int(10) UNSIGNED Non 0
visitor_id int(10) UNSIGNED Non 0
date_visited timestamp Non CURRENT_TIMESTAMP
什么是表结构吗?是否有第三列来打破价值? – gbn 2011-05-04 11:31:19
@gbn:已添加表结构(MySQL)。第三列是保留用户最后一次访问配置文件的轨迹。该结构应该可以通过对profile_id&visitor_id的约束来修改。 P.S:我现在没有填充表格的SQL,但它是'if exists update timestamp if not create record'行的。 – 2011-05-04 11:39:07