2014-02-08 3 views
0

У меня возникают проблемы с созданием внешнего ключа. Ниже мой запрос:Ошибка создания таблицCannot добавить ограничение внешнего ключа

CREATE TABLE supervisee 
(
    supervisee_staff_id   VARCHAR(10) NOT NULL, 
    supervisee_email_address  VARCHAR(40) NOT NULL, 
    supervisee_name   VARCHAR(40) NOT NULL, 
    PRIMARY KEY(supervisee_staff_id), 
    FOREIGN KEY(academic_id) 
    REFERENCES academic_result(academic_result_id) 
) 

CREATE TABLE academic_result 
(
    academic_result_id  INTEGER(6) NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(academic_result_id) 
) 

любая помощь от вас была бы благодарна, спасибо большое! :)

+0

Вам удалось разобраться в проблеме? – wwkudu

ответ

0

Вы не говорите, какую ошибку вы получаете, но я вижу две потенциальные проблемы. Ваш внешний ключевой столбец academy_id должен быть определен как его собственный столбец, а также находиться в предложении FOREIGN KEY. Во-вторых, сначала определите зависимую (academ_result) таблицу, чтобы при определении внешнего ключа у него было что-то, на что можно ссылаться. Попробуйте это, например:

CREATE TABLE academic_result ( 
    academic_result_id INTEGER(6) NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(academic_result_id) 
); 
CREATE TABLE supervisee ( 
    supervisee_staff_id VARCHAR(10) NOT NULL, 
    supervisee_email_address VARCHAR(40) NOT NULL, 
    supervisee_name VARCHAR(40) NOT NULL, 
    academic_id INTEGER(6), 
    PRIMARY KEY(supervisee_staff_id), 
    FOREIGN KEY(academic_id) 
    REFERENCES academic_result(academic_result_id) 
); 
Смежные вопросы