したがって、次のように定義された複合キーを持つテーブルがあります。
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 ファイルから直接インポートして、テーブルに複合キーを設定する方法はありますか?