У меня есть база данных, использующая MySQL 2005. У меня есть две таблицы, Enrollment и AlertMsg.
Первичными ключами для регистрации являются два столбца, UnitCode и StudentID.Оба эти столбца являются внешними ключами для другой таблицы.
Первичными ключами для AlertMsg являются три столбца: UnitCode, StudentID и AlertNo.
Когда я пытаюсь создать внешний ключ с UnitCode вТаблица AlertMsg, например, так:
ALTER TABLE AlertMsg
ADD FOREIGN KEY (UnitCode)
REFERENCES Enrolment(UnitCode)
Я получаю следующую ошибку:
SQL Execution Error.
Executed SQL statement: ALTER TABLE AlertMsg
ADD FOREIGN KEY (UnitCode)
REFERENCES Enrolment (UnitCode)
Error Source: .Net SqlClient Data Provider
Error Message: There are no primary or candidate keys in the referenced table 'Enrolment' that match the referencing column list in the foreign key 'FK_AlertMsg_UnitCo_571DF1D5'.
Could not create constraint. See previous errors.
После некоторого поиска кажется, что это потому, что UnitCode не является первичным ключом Enrollment.Но определение таблицы Enrolment, кажется, показывает, что это так.Я немного новичок в SQL, поэтому я предполагаю, что если в крайнем левом столбце определения таблицы есть ключ, это означает, что это первичный ключ таблицы.
Кто-нибудь может помочь?Заранее спасибо.