0

このコードを見てください、私はmysqlを使用しています。

create table `dictionary_one` (`dict_id` int(10) primary key)
engine = innodb;

create table `already_exists`(
  `pk_id`             int(10) primary key,
  `ref_dict_one_id`   int(10),
  constraint `Already_exists_ibfk_1` foreign key(`ref_dict_one_id`) references `dictionary_one`(`dict_id`)
);

これまでのところすべてが順調に進んでいるようです。次に、別のテーブルを参照する別の列を追加します。

create table `dictionary_two` (`dict_id` int(10) primary key)
engine = innodb;

alter table `already_exists` add column `ref_dict_two_id` int(10), add foreign key `Already_exists_ibfk_2`(`ref_dict_two_id`) references `dictionary_two`(`dict_id`);

構文エラーはなく、すべてが正しく実行されますが、次のようになります。

ERROR 1050 (42S01): Table './test/already_exists' already exists
1 row in set (0.00 sec)

そして私の質問は...なぜですか?

4

1 に答える 1

4
alter table `already_exists` 
  add column `ref_dict_two_id` int(10),

  add constraint `Already_exists_ibfk_2`
    foreign key (`ref_dict_two_id`) 
    references `dictionary_two`(`dict_id`);
于 2012-12-27T13:42:32.450 に答える