一、问题描述
创建了一张表,
create table z_person
(
id_p int,
last_name varchar(50),
first_name varchar(50),
address varchar(255),
city varchar(100)
);
然后向里面插入数据的时候,发现忘记设置主键了,导致插入很多重复的数据
insert into z_person values(1,'翠花','苗','华星现代产业园','杭州');
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX9UkeOdXQU5UeNRVT3V1MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DN3EDO0czM1ETOxYDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
于是想设置一下主键,遇到报错:
alter table z_person add primary key(id_p);
二、解决方法
1.原因是在设置主键的时候,数据库表中已经存在主键字段重复的数据
2.删除相应的重复数据。
3.再次设置主键,即可设置成功。
alter table z_person add primary key(id_p);