0

外部キー関係を追加すると、MySQL はERROR 1050次のようになります。

私は2つのテーブルを持っていて、他のテーブルとの外部キー関係を与えようとしていますが、以下のエラーが発生します.

エラー 1005: テーブル 'yellowbikes.#sql-1e8_82' を作成できません (errno: 121)

SQL ステートメント:

ALTER TABLE `yellowbikes`.`schedule` 
  ADD CONSTRAINT `bike_number`
  FOREIGN KEY (`bike_number` )
  REFERENCES `yellowbikes`.`bike` (`bike_number` )
  ON DELETE NO ACTION
  ON UPDATE NO ACTION
, ADD INDEX `bike_number_idx` (`bike_number` ASC)

エラー: フェイルバック スクリプトの実行中にエラーが発生しました。詳細は次のとおりです。

エラー 1050:テーブル 'スケジュール' は既に存在します

SQL ステートメント:

CREATE TABLE `schedule` (
   `bikeid` int(11) NOT NULL,
   `bike_number` varchar(24) NOT NULL,
   PRIMARY KEY (`bikeid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
4

1 に答える 1

0

両方が同じタイプであることを確認してください。Scheduleタイプを持っていutf8ます。yellowbikesタイプがdefault?!?!であるかどうかを確認してください もしそうなら、それをに変更しますutf8

編集:

また、MySqlDBがMyISAMであるかどうかを確認できます。その場合、外部キー制約を適用するデータベースが必要な場合、または一連のDML操作によって行われた変更を単一の作業単位として処理するデータベースが必要な場合は、MyISAMではなくInnoDBを選択するため、InnoDBに変更してください。 MyISAMエンジンにはありません。

于 2013-01-23T08:42:20.207 に答える