加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在postgresql中更改外键的值?

发布时间:2020-12-13 18:05:05 所属栏目:百科 来源:网络整理
导读:假设我有两个表:客户和城市.有许多客户住在同一个城市.城市有一个主要的uid.客户通过Customer.city_uid对其各自的城市进行外键引用. 出于外部原因,我必须互换两个City.uids.但客户应该留在他们的城市.因此,有必要交换Customer.city_uids.所以我想我首先交换
假设我有两个表:客户和城市.有许多客户住在同一个城市.城市有一个主要的uid.客户通过Customer.city_uid对其各自的城市进行外键引用.

出于外部原因,我必须互换两个City.uids.但客户应该留在他们的城市.因此,有必要交换Customer.city_uids.所以我想我首先交换City.uids,然后通过UPDATE语句更改Customer.city_uids.不幸的是,我不能这样做,因为这些uid是从Customer-table引用的,PostgreSQL阻止我这样做.

有没有一种简单的方法可以将两个City.uids彼此交换以及Customer.city_uids?

一种解决方案可能是:
BEGIN;
1. Drop foreign key
2. Make update
3. Create foreign key
COMMIT;

要么:

BEGIN;
1. Insert "new" correct information
2. Remove outdated information
COMMIT;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读