从表中删除重复记录

Sha*_*eet 3 mysql

我在MySQL中有一个名为ZipCode的表,其字段为:id,zipcode,city,state.它有一些重复的记录; 一些邮政编码显示两次,我想删除所有两次的zipcodes; 每个邮政编码只能存储一次.我怎样才能使它正确?

Arn*_*anc 7

-- remove duplicates

DELETE z1
FROM ZipCode z1, ZipCode z2
WHERE z1.zipcode = z2.zipcode AND z2.id < z1.id;

-- add a primary key

ALTER TABLE ZipCode ADD PRIMARY KEY (zipcode);

-- or a unique key

ALTER TABLE ZipCode ADD UNIQUE INDEX zipcode_unique (zipcode);
Run Code Online (Sandbox Code Playgroud)