access中,怎样删除重复记录然后设置主键

做计算机二级的时候遇到的,设置主键怎么都设置不了,哪位高手说明一下怎么弄,我是零基础,最好能说明白点哈,谢谢了

需要添加主键的字段或字段组合下面含有重复的记录,所以不能添加主键。解决办法是删除有重复的记录后再添加主键。
例如先运行下列SQL查询语句删除某字段(假设字段名为col1)有重复的记录:
DELETE *
FROM tableName AS a
WHERE exists
(
select 1 from tablename b where
a.col1=b.col1 group by b.col1 having count(b.col1)>1
);
跟着运行下列表定义SQL语句就可以将该字段设置主键:
alter table tableName add constraint c_Pk primary key (col1);

当然删除重复记录后,也可以手动为字段(col1)设置主键 ——于表设计视图,选择字段“COL1”,然后点击工具栏上的那个“钥匙”图标即可。追问

还是好复杂啊,能再清楚点吗?呜呜呜

追答

更简单的办法,打开数据表,将表里所有的数据删除掉,跟着转换到表设计视图,选择你要设置主键的字段,再点击工具栏上的“钥匙”图标,保存即可。

用SQL语句删除有重复的数据:
DELETE *
FROM 表名 AS a
WHERE exists
(
select 1 from 表名 b where
a.要添加主键的字段名=b.要添加主键的字段名 group by b.要添加主键的字段名 having count(b.要添加主键的字段名)>1
);
复制粘贴上列代码(套上实际表名和字段名)到SQL查询设计视图,然后保存为一个查询并为之取名“删除有重复的记录”,跟着双击查询“删除有重复的记录”就可以删除对应表中有重复的记录了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-10
第一步:用查找重复项向导将重复记录查找出来。
第二步:删除重复记录。
第三步:设置主键。追问

我还是不太明白,老师能说明白点吗,就是步骤怎样?

追答

用向导做:查询向导——查找重复项查询向导——选择表——选重复字段——再选其他字段,就可以得出重复记录。这就是第一步,以下同上。你多看看说明,慢慢来。

追问

老师,我找出了重复记录了,我要怎么删除记录?

追答

如果数据量不大的话,一条条删除就行。数据量大的话就麻烦些......

追问

就是删到都没有重复的了就可以设置主键了对吗?

追答

是啊,做主键的字段就是不能有重复的数据的。

本回答被提问者采纳
相似回答