2 votes

Erreur 1072 MySQL

Je continue à obtenir l'erreur 1072 lorsque j'essaie d'ajouter un attribut de clé étrangère et de lier mon attribut à une autre table. J'ai essayé différentes façons d'écrire cela, mais je continue à obtenir le message suivant : "department_id n'existe pas dans la table". Si vous pouviez me donner un coup de main, ce serait génial ! Merci beaucoup !

Voici mon code :

Alter table employee
add constraint department_fk
foreign key ( department_id)
references department(department_id);

Et voici le reste de mes tables :

Create table Department (
    department_id integer auto_increment primary key not null,
    department_name varchar (50) not null,
    Office_number varchar(50) not null,
    phone char (20) not null
);

Create table employee (
    employee_id integer auto_increment primary key not null,
    first_name varchar (25) not null,
    last_name varchar (25) not null,
    phone char(20) not null,
    email varchar (100) not null,
    salary decimal (10,2)
);

Create table project (
    project_id integer auto_increment primary key not null,
    max_hours time not null,
    start_date datetime not null,
    end_date datetime not null,
    Project_lead integer,
    Constraint project_fk1 
    foreign key (employee_id)
    references employee(employee_id),
    Department_id integer,
    Constraint project_fk2 
    foreign key (department_id) 
    references department (department_id)  
);

Create table assignment (
    employee_id integer not null,
    project_id integer not null,
    hours_worked time not null,
    primary key (employee_id, project_id),
    constraint assignment_fk1 
    foreign key(employee_id) 
    references employee(employee_id),
    constraint assignment_fk2 
    foreign key (project_id) 
    references project(project_id)
);

Alter table project
drop foreign key department_id;

Merci d'avance !

2voto

Syn Points 486

Vous avez besoin d'une colonne de clé étrangère dans votre table des employés :

Create table employee (
   employee_id integer auto_increment primary key not null,
   first_name varchar (25) not null,
   last_name varchar (25) not null,
   phone char(20) not null,
   email varchar (100) not null,

   dept_id integer,

   salary decimal (10,2)
);

Alter table employee
add constraint department_fk
foreign key ( dept_id)
references department(department_id);

0voto

IngoB Points 1046

Faites confiance au message ;) - la colonne "department_id" n'existe pas dans votre table employee !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X