【发布时间】:2014-02-06 07:09:00
【问题描述】:
有两个表格新闻和语言。 这是 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 命令 */
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 新闻添加 ietf_language_tag varchar(5) NOT NULL, ADD KEY
(ietf_language_tag) , 添加约束 news_fkey1 外键 (ietf_language_tag)
REFERENCES language(ietf_language_tag) ON DELETE NO ACTION ON UPDATE NO ACTION
错误代码:1215。无法添加外键约束 0.437 秒
【问题讨论】:
-
通过你的sql,我没有
t get the same error as yours, but after I changed column type from varchar to int, it works, Im 不确定你的问题是否和我一样,请尝试。