Я пытаюсь создать два отношения с помощью MySQL, в то время как я создавал второе отношение "t2", я добавил внешнее ограничение к первому отношению "t1".
Первая таблица «t1» была успешно построена, но она показала «Код ошибки: 1822. Не удалось добавить ограничение внешнего ключа. Отсутствует индекс для ограничения« FK2 »в ссылочной таблице« t1 »» при создании второй стол "т2".
Я проверил некоторые проблемы, такие как моя, в некоторых решениях атрибут, на который ссылаются в первой таблице, должен быть уникальным или первичным ключом. Но «Пн» уже был ПК в первой таблице.
Что не так в моем коде?
create table t1
( Num INT(10) NOT NULL,
Mon VARCHAR(7) NOT NULL,
CONSTRAINT PK1 PRIMARY KEY (Num, Mon)
);
CREATE TABLE t2
( Num INT(10) NOT NULL,
Mon VARCHAR(7) NOT NULL,
Totle_Income Decimal(9,2) DEFAULT 0,
CONSTRAINT PK2 PRIMARY KEY (Num, Mon),
CONSTRAINT FK1 FOREIGN KEY (Num) REFERENCES t1(Num)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT FK2 FOREIGN KEY (Mon) REFERENCES t1(Mon)
ON DELETE CASCADE ON UPDATE CASCADE
);