删除DSpace 6.2

时间:2017-11-24 16:01:00

标签: dspace

我目前遇到DSpace 6.2的错误。当我尝试删除用户时,我收到以下错误:

  

错误:更新或删除表格" eperson"违反外键约束" resourcepolicy_eperson_id_fkey"表" resourcepolicy"细节:密钥(uuid)=(c15fb835-a110-4df8-a409-84922a58cd6c)始终从表格中引用" resourcepolicy"。

2 个答案:

答案 0 :(得分:0)

resourcepolicy和表eperson

之间存在外键约束

这意味着resourcepolicy中的列只能包含eperson表中存在uuid的用户。如果您要删除eperson中的记录,那么这将破坏关系。

您还没有包含您正在使用的确切删除语句,但是使用SQL将您的删除级联到您使用ON DELETE CASCADE定义表的其他表

我不知道您是否在DSpace中可以使用SQL命令,但这个答案对SQL服务器有很好的解释: How do I use cascade delete with SQL Server?

答案 1 :(得分: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; 。 欢呼声。