删除mysql中指定的重复行

时间:2014-08-22 20:42:06

标签: mysql duplicates delete-row sql-delete

考虑以下情况:

CREATE TABLE PostTags
    (
     userid int DEFAULT NULL,
     tstamp int DEFAULT NULL,
      feed varchar(4)
    );

INSERT INTO PostTags VALUES (1,1, "edi");
INSERT INTO PostTags VALUES (1,2, "np");
INSERT INTO PostTags VALUES (1,1, "oth");
INSERT INTO PostTags VALUES (3,4, "pq");
INSERT INTO PostTags VALUES (1,2, "di");

'时间戳'和'用户ID'在我原来的问题中有真正的数据类型,但我在这里简化问题以便于理解。

众所周知,对于给定的时间戳,用户只能执行一种类型的馈送。如果我知道我想保留特定类型的Feed,请说" edi"并摆脱其他类型的饲料,如" oth" (在这种情况下," oth"是用户ID 1和时间戳1的第二个值)我可以写什么类型的查询?

我试图让alter ignore看看它会删除什么以及它会保留什么,但它给了我一个错误:

alter ignore table PostTags add unique index ix_mm (userid, tstamp);

错误: 架构创建失败:重复条目' 1-1'对于密钥' ix_mm':

非常感谢有关我如何进行的任何建议!谢谢!

0 个答案:

没有答案