MySQL:向表中添加外键时出错(无错误代码)

时间:2013-04-13 21:49:17

标签: mysql phpmyadmin foreign-keys

我有两个表 - topicsarticles,我正在尝试将一个外键添加到articles.arTopic(正常索引),这将引用topics.topicId(AI PRIMARY)键)。

然而,当我尝试在phpMyAdmin中执行此操作时,我收到错误但没有任何错误代码(它只是说“错误”)。两个表都是InnoDB,它们目前是空的(当它们填充相同结果时尝试过),两列都是int(11)无符号。 SHOW ENGINE INNODB STATUS没有显示任何有用信息,LATEST FOREIGN KEY ERROR部分中的记录与此问题无关。

我已经苦苦挣扎了两个小时,除非有一些非常明显的东西我不知道,我不知道会出现什么问题。有人可以帮忙吗?

提前致谢。

编辑SQL:

CREATE TABLE IF NOT EXISTS `articles` (
  `arId` int(11) NOT NULL AUTO_INCREMENT,
  `arText` longtext COLLATE utf8_czech_ci NOT NULL,
  `arTopic` int(255) unsigned DEFAULT NULL,
  PRIMARY KEY (`arId`),
  KEY `arTopic` (`arTopic`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci ROW_FORMAT=COMPACT AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `topics` (
  `topicId` int(255) unsigned NOT NULL AUTO_INCREMENT,
  `topicName` text COLLATE utf8_czech_ci NOT NULL,
  PRIMARY KEY (`topicId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=1 ;

1 个答案:

答案 0 :(得分:0)

两列之间确实存在差异 - 一列为not null,另一列为Default null。差异会给你一个错误。