Не получается связать таблицы SQL

При попытке связать две таблицы постоянно выдает ошибку

SQL Error [1005] [HY000]: (conn=1485) Can't create table db_2019_02024.destination (errno: 150 "Foreign key constraint is incorrectly formed")

CREATE TABLE personal
(
id INTEGER NOT NULL ,
surname_name_patronymic VARCHAR(20),
birthdate DATE,
education VARCHAR(20),
educational_institution_year_of_graduation_specialty TEXT,
work_experience INTEGER NOT NULL,
PRIMARY KEY(id, work_experience)
);

CREATE TABLE destination
(
position VARCHAR(20),
salary INTEGER,
department_number VARCHAR(20),
work_experience INTEGER NOT NULL,
FOREIGN KEY (work_experience) REFERENCES personal (work_experience) 
);

Я перепробовал много способов решения этой проблемы из прошлых темны на stackoverflow, но так и не смог решить проблему


Ответы (1 шт):

Автор решения: qitsune

Ошибку исправил так:

CREATE TABLE personal
(
id INTEGER NOT NULL,
surname_name_patronymic VARCHAR(20),
birthdate DATE,
education VARCHAR(20),
educational_institution_year_of_graduation_specialty TEXT,
work_experience INTEGER NOT NULL,
PRIMARY KEY(id, work_experience)
);

CREATE UNIQUE INDEX idx_work_experience ON personal (work_experience);

CREATE TABLE destination
(
position VARCHAR(20),
salary INTEGER,
department_number VARCHAR(20),
work_experience INTEGER NOT NULL,
FOREIGN KEY (work_experience) REFERENCES personal (work_experience) 
);
→ Ссылка