1

したがって、次のように定義された複合キーを持つテーブルがあります。

create table BOOK_REVIEW
(
    ISBN    varchar(13)    NOT NULL,
    ID_Num  int            NOT NULL,
    Rating  int            NOT NULL,
    Review  varchar(8000),
    primary key (ISBN, ID_Num),
    foreign key (ISBN) references BOOK(ISBN)
        ON DELETE cascade  ON UPDATE cascade,
    foreign key (ID_Num) references CONTACT(ID_Num)
        ON DELETE cascade  ON UPDATE cascade
);

私が抱えている問題は、適切にフォーマットされた csv ファイルからデータをインポートすると、エントリの重複エラーが発生することです。確かに、このテーブルには ISBN のエントリが重複しており、ID_Num のエントリも重複していますが、(ISBN, ID_Num) の複合キーは各行に固有です。では、なぜエラーが発生するのですか?

主キーの宣言を省略しても問題なくインポートできますが、主キーを正しく定義する必要があります。

主キー定義なしでテーブルにインポートしてから、すべてのデータを一時テーブルに移動し、テーブルを削除して主キー制約で再作成し、すべてを元に戻そうとしました...しかし、予想どおり「重複したエントリ"エラーが再び表示されます。

適切にフォーマットされた csv ファイルから直接インポートして、テーブルに複合キーを設定する方法はありますか?

4

0 に答える 0