2013-03-11 11 views
0

Я пытаюсь создать таблицу, но у меня была проблема с foreign key это сценарий, я попробовал:Добавление ограничения внешнего ключа

CREATE TABLE IF NOT EXISTS note_etudiant(
    num_insc int auto_increment, 
    cin int foreign key references T_utilisateur(cin), 
    nom varchar(25), 
    note float 
)Engine=InnoDB DEFAULT CHARSET=latin1; 

И это ошибка я получил:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'foreign key references T_utilisateur(cin), nom varchar(25), no' at line 3

ответ

0

Вы должны перечислить ваши ограничения внешнего ключа после создания столбца

cin int, 
constraint foreign key (cin) references T_utilisateur(cin), 
+0

, когда я попытался это я получил эту ошибку: '1075 - Неправильное определение таблицы; может быть только один автоматический столбец, и он должен быть определен как ключ', поэтому я определил столбец 'num_insc' в качестве первичного ключа, а затем получил эту ошибку:' 1005 - Невозможно создать таблицу 'gestion_note.note_etudiant' (errno : 150) ' – user1726655

0

Вы п чтобы создать внешний ключ отдельно от столбца. Я также рекомендую создать индекс отдельно, чтобы вы могли управлять именем индекса.

попробовать что-то вроде этого:

CREATE TABLE IF NOT EXISTS note_etudiant(
    num_insc int auto_increment, 
    cin int, 
    nom varchar(25), 
    note float, 
    primary key (num_insc), 
    key cin (cin), 
    constraint fk_note_etudiant_to_t_utilisateur foreign key (cin) references T_utilisateur(cin) 
)Engine=InnoDB DEFAULT CHARSET=latin1; 
+0

Я пробовал этот скрипт, и я получил эту ошибку:' 1075 - неправильное определение таблицы; может быть только один автоматический столбец, и он должен быть определен как ключ ' – user1726655

+0

, который я отредактировал, чтобы сделать num_insc основным ключом. попробуй еще раз. –

+0

это тоже не будет, это ошибка, которую я получил: '1005 - Невозможно создать таблицу 'gestion_note.note_etudiant' (errno: 150)' – user1726655

Смежные вопросы