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

前端之家收集整理的这篇文章主要介绍了如何在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 information
2. Remove outdated information
COMMIT;

猜你在找的Postgre SQL相关文章