9
偽の外部キー制約が失敗する
次のエラーメッセージが表示されます。 エラー1217(23000)、40行目:親行を削除または更新できません:外部キー制約が失敗します ...テーブルを削除しようとすると: DROP TABLE IF EXISTS `area`; ...このように定義されます: CREATE TABLE `area` ( `area_id` char(3) COLLATE utf8_spanish_ci NOT NULL, `nombre_area` varchar(30) COLLATE utf8_spanish_ci NOT NULL, `descripcion_area` varchar(100) COLLATE utf8_spanish_ci NOT NULL, PRIMARY KEY (`area_id`), UNIQUE KEY `nombre_area_UNIQUE` (`nombre_area`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci; おもしろいのは、外部キーを持つスキーマの他のすべてのテーブルをすでに削除したことareaです。実際には、データベースはareaテーブルを除いて空です。 データベースに他のオブジェクトがない場合、どうすれば子行を持つことができますか?私の知る限り、InnoDBは他のスキーマの外部キーを許可していませんか? (RENAME TABLE area TO something_elseコマンドを実行することもできます:-?)