I have an Error Code: 1062. Duplicate entry '1' for key 'department.PRIMARY'

2.6k Views Asked by At

I'm new in mysql and don't know why I get an error I'm stuck here get an error in the foreign key one of the questions is

The "DepartmentID" fields in both Employee and Project are foreign keys referencing the "Did" field of Department Table" and when I insert a value in the department I get that error not sure why
``

`create table Department
 (
did     integer      default 1,
Dname   varchar(50) default 'HR',
location varchar(50) default 'Chicago',
primary key(did)`

);`

`create table Employee(
Eid     integer         default 12,
DepartmentID    integer  default 5,
Ename   varchar(50)     default 'Josh',
Erank   integer         default 2,
Salary  real            default 500000,
primary key(Eid),`
foreign key(DepartmentID) references Department(did)`   

);

 `create table Project`
 (
     Pid integer                default 20,
     DepartmentID  integer   default 9,
     Pname varchar(50)      default 'Sorting',
     budget real            default 5.000,
     StartYear  integer     default 2000,
     primary key(Pid),
     foreign key(DepartmentID) references Department(did)
     );

     insert
     into   Department(Dname)
     values  ('Marketing'),
              ('Human Resources');
1

There are 1 best solutions below

1
ProDec On

It is required to specify the primary key value unless it is auto_increment

insert into Department(did, Dname)
values (1, 'Marketing'),
       (2, 'Human Resources');

Or alter your table to use auto_increment

create table Department (
did     integer   not null auto_increment,
Dname   varchar(50) default 'HR',
location varchar(50) default 'Chicago',
primary key(did)
);

insert into Department(Dname)
values ('Marketing'),
       ('Human Resources');