在上一个命令中,我愚蠢地写道:
alter table UserInfo
add column gcal_id integer references GoogleCal on delete cascade
此后,我意识到自己不想要on delete cascade
。如何更改gcal-id
中的UserInfo
,使其不再具有该约束,而又不会丢失当前条目中保存的信息?
答案 0 :(得分:2)
很高兴,这很简单。
首先\d+ UserInfo
查看约束名称,该名称将出现在表的列定义下方。
您的情况可能类似于
Foreign-key constraints:
"userinfo_gcal_id_fkey" FOREIGN KEY (gcal_id) REFERENCES googlecal(id) ON DELETE CASCADE
然后,只需在一个命令中拖放并重新添加约束即可:
ALTER TABLE UserInfo
DROP CONSTRAINT userinfo_gcal_id_fkey,
ADD CONSTRAINT userinfo_gcal_id_fkey FOREIGN KEY (gcal_id) REFERENCES googlecal(id);
省略ON DELETE CASCADE
部分。