【发布时间】:2016-01-30 13:25:03
【问题描述】:
我有 2 张桌子:
-
Users以U_Id作为主键 -
Votes和V_author引用Users(U_Id)作为外键
问题:如何从Users 表中删除行?
当我尝试这样做时,我收到以下错误。
错误:psycopg2.IntegrityError:更新或删除表“用户” 违反表 e 上的外键约束“votes_v_author_fkey” "votes" DETAIL: Key (u_id)=(7) 仍然从表中引用 “投票”。
【问题讨论】:
-
原因是Database Referencial integrity。假设您有
U_id1 的用户,并使用Users1 进行投票。如果您从Users表中删除该用户(ID 为1),则使用Users1 的投票变为无效,因为它引用了具有U_id1 但该用户不存在。
标签: sql postgresql psycopg2