テーブルとid
のフィールドreview_id
とテーブルSentences
のフィールドの間に外部キーを作成しようとしています。テーブルの構造は次のとおりです。外部制約キーに失敗しました
CREATE TABLE `Reviews` (
`review_id` varchar(255) CHARACTER SET utf8 NOT NULL,
`package_name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`review_content` text CHARACTER SET utf8,
`review_date` date DEFAULT NULL,
`star_rating` int(11) DEFAULT NULL,
`app_version_id` int(11) NOT NULL,
PRIMARY KEY (`review_id`),
KEY `app_version_id` (`app_version_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `Sentences` (
`id` varchar(255) NOT NULL DEFAULT '',
`review` text,
`category` varchar(255) DEFAULT NULL,
`topic` varchar(255) DEFAULT NULL,
KEY `rev-id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
私は次のエラーに直面していますが、問題の内容を理解できません。 データタプル:インデックスPRIMARYタプルで、子テーブルに追加しようとし
ALTER TABLE `Reviews` ADD CONSTRAINT `rev-to-sents` FOREIGN KEY (`review_id`) REFERENCES `Sentences` (`id`)
Foreign key constraint fails for table `msr test db`.`#sql-75_d`:
,
CONSTRAINT `rev-to-sents` FOREIGN KEY (`review_id`) REFERENCES `Sentences` (`id`)
8つの分野。 0:len 36;ヘックス37626532323335652d616663392d313165362d383935342d633462333031636466363237; asc 7be2235e-afc9-11e6-8954-c4b301cdf627 ;; ...
残念ながら、MySQLは外部キー定義エラーに関して実際のエラーメッセージを表示しません。あなたは 'SHOW ENGINE INNODB STATUS'を実行し、«最新のキーエラー»セクションでそれを見つける必要があります。 [show engine queries](https://dev.mysql.com/doc/refman/5.7/en/show-engine.html)には、['PROCESS'権限](https://dev.mysql)が必要です。あなたの正規のMySQLユーザが持っていないかもしれない、あなたが特権を割り当てるか、ルートとしてクエリを実行することができます。 –