-1

2 つのテーブルがtopicsあり、 (AI PRIMARY キー)を参照する (通常のインデックス) にarticles外部キーを追加しようとしています。articles.arTopictopics.topicId

ただし、phpMyAdminでそれを実行しようとすると、エラーが発生しますが、エラーコードはまったく表示されません(「エラー」と表示されます)。両方のテーブルは InnoDB であり、現時点では空です (同じ結果が入力されたときに試してみました)。両方の列は int(11) unsigned です。SHOW ENGINE INNODB STATUS有用なものは何も表示されませんでしたLATEST FOREIGN KEY ERROR。セクションのレコードはこの問題とは無関係です。

私はこれに2時間苦労してきましたが、私が見逃していることが露骨に明らかなものがない限り、何が間違っているのかわかりません. 誰でも助けることができますか?

前もって感謝します。

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 ;
4

1 に答える 1

0

実際には、2 つの列には違いがあります。1 つの列はnot nullで、もう 1 つの列は ですDefault null。違いはエラーになります。

于 2013-04-13T22:27:11.937 に答える