Я пытаюсь создать внешний ключ для внешнего ключа (что я считаю возможным), но я получаю сообщение об ошибке, что ограничение сформировано неправильно
CREATE TABLE Staff (
ssn INT,
name VARCHAR(127),
gender VARCHAR(127),
age TINYINT UNSIGNED,
address VARCHAR(255),
phone_number CHAR(12),
wage FLOAT(3,2),
PRIMARY KEY (ssn));
CREATE TABLE Admininstration (
ssn INT,
FOREIGN KEY (ssn) REFERENCES Staff(ssn),
PRIMARY KEY (ssn));
CREATE TABLE Wards (
ward_clerk INT,
ward_id CHAR(2),
floor_number TINYINT,
FOREIGN KEY (ward_clerk) REFERENCES Administration(ssn),
PRIMARY KEY (ward_id)
);
ERROR 1005 (HY000): Can't create table `HospitalManagement`.`Wards`
(errno: 150 "Foreign key constraint is incorrectly formed")
Если я изменю последнее утверждение, ссылаясь на таблицу персонала
CREATE TABLE Wards (
ward_clerk INT,
ward_id CHAR(2),
floor_number TINYINT,
FOREIGN KEY (ward_clerk) REFERENCES Staff(ssn),
PRIMARY KEY (ward_id)
);
это работает, но это не то, что я хочу сделать. Если это невозможно, я знаю, как это изменить, но я бы хотел сделать это таким образом. Любые предложения приветствуются.