微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

假设我有两个表:客户和城市.有许多客户住在同一个城市.城市有一个主要的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 @R_513_4045@ion
2. Remove outdated @R_513_4045@ion
COMMIT;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐