Есть две таблицы новости и язык. Это исходная таблица в MySQL:
CREATE TABLE `news` (
`news_id` int(11) NOT NULL AUTO_INCREMENT,
`fleet_id` int(11) NOT NULL,
`channel_id` int(11) NOT NULL,
`effective_from` date NOT NULL,
`effective_to` date NOT NULL,
`news` text,
PRIMARY KEY (`news_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `language` (
`ietf_language_tag` varchar(5) NOT NULL,
`endonym` varchar(32) NOT NULL,
`exonym` varchar(32) NOT NULL,
PRIMARY KEY (`ietf_language_tag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/* Выполнить команду изменения таблицы */
ALTER TABLE news
ADD ietf_language_tag varchar(5) NOT NULL,
ADD KEY (ietf_language_tag) ,
ADD CONSTRAINT news_fkey1 FOREIGN KEY (ietf_language_tag) REFERENCES
language(ietf_language_tag) ON DELETE NO ACTION ON UPDATE NO ACTION ;
/* получаем ошибку */
Ошибка:
14:57:51 ALTER TABLE news ДОБАВИТЬ ietf_language_tag varchar(5) NOT NULL, ДОБАВИТЬ КЛЮЧ
(ietf_language_tag), ДОБАВИТЬ ОГРАНИЧЕНИЕ news_fkey1 FOREIGN KEY (ietf_language_tag)
ССЫЛКИ language(ietf_language_tag) ПРИ УДАЛЕНИИ НЕТ ДЕЙСТВИЙ ПРИ ОБНОВЛЕНИИ НЕТ ДЕЙСТВИЙ
Код ошибки: 1215. Невозможно добавить ограничение внешнего ключа 0,437 сек.