Я создаю таблицу в mysql, используя следующий script:
CREATE TABLE IF NOT EXISTS users_x_activities(
id int NOT NULL auto_increment,
id_user int unsigned NOT NULL,
id_attivita int unsigned NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (id_user) REFERENCES utente(id),
FOREIGN KEY (id_attivita) REFERENCES attivita(id)
) ENGINE = INNODB;
Когда я экспортирую созданную таблицу из phpMyAdmin, я получаю следующее script
CREATE TABLE IF NOT EXISTS `users_x_activities` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_user` int(10) unsigned NOT NULL,
`id_attivita` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `id_user` (`id_user`),
KEY `id_attivita` (`id_attivita`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Итак, вопрос: где мои внешние ограничения? KEY
относится к FK? Кажется, что две таблицы utente
и attivita
больше не ссылаются в новом сгенерированном script. где я делаю неправильно?
EDIT
В phpMyAdmin, настраивая экспорт таблицы, я нашел опцию "Отображать внешние отношения ключей", Если я отмечу эту опцию, я также сохраню этот код в script
--
-- RELATIONS FOR TABLE `users_x_activity`:
-- `id_user`
-- `utente` -> `id`
-- `id_attivita`
-- `attivita` -> `id`
--
--
-- Constraints for dumped tables
--
--
-- Constraints for table `users_x_activity`
--
ALTER TABLE `users_x_activity`
ADD CONSTRAINT `users_x_activities_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `utente` (`id`),
ADD CONSTRAINT `users_x_activities_ibfk_2` FOREIGN KEY (`id_attivita`) REFERENCES `attivita` (`id`);
Это означает, что, если я добавлю параметр "Отобразить отношение внешнего ключа", я получаю также ограничения FK? в другом случае нет?