2017-11-24 5 views
0

現在、DSpace 6.2でエラーが発生しています。私は、ユーザーを削除しようとすると、私は次のエラーを取得する:テーブルresourcepolicyとテーブルepersonDSpace 6.2でのユーザーエラーの削除

間の外部キー制約があり

ERROR: UPDATE or DELETE on the table "eperson" violates the foreign key constraint "resourcepolicy_eperson_id_fkey" of the table "resourcepolicy" Detail: The key (uuid) = (c15fb835-a110-4df8-a409-84922a58cd6c) is always referenced from of the table "resourcepolicy".

答えて

0

これはのみ必要resourcepolicyの列があることを意味しますepersonテーブルにuuidが存在するユーザーが含まれています。あなたがepersonのレコードを削除するなら、これは関係を壊すでしょう。

あなたはあなたに利用できるSQLコマンドを使用している場合、私は知らないあなたが使用している正確なDELETE文が含まれていないが、他のテーブルにあなたの削除によってカスケードするSQLを使用すると、ON DELETE CASCADE

でテーブルを定義しますDSpaceでは、この回答はSQLサーバについてよく説明しています。 How do I use cascade delete with SQL Server?

+0

私はリンクを訪問するつもりです –

0

私はこのリンクを通して問題を解決しました:How do I use cascade delete with SQL Server?。 Spangenに感謝します。 次のコマンドで外部キーを削除しました。ALTER TABLE ONLY "resourcepolicy" DROP CONSTRAINT resourcepolicy_eperson_id_fkey;とし、次のコマンドで再作成しました。ALTER TABLE ONLY "resourcepolicy" ADD CONSTRAINT resourcepolicy_eperson_id_fkey FOREIGN KEY(eperson_id)REFERENCES eperson(uuid)ON DELETE CASCADE;。 乾杯。

+0

こんにちは@アルノーKINNOUDO 私の答えは助けてうれしいです。それを投票したり、それを受け入れられた答えとしてマークしたりしてください。 – Spangen

関連する問題