Giả sử tôi có hai bảng: Customer
và City
. Có rất nhiều Customer
s sống trong cùng một City
. Các thành phố có uid
là khóa chính. Khách hàng có một khóa tham chiếu nước ngoài đến thành phố của họ thông qua Customer.city_uid
.Làm cách nào để thay đổi giá trị của khóa ngoài trong postgresql?
Tôi phải hoán đổi hai số City.uid
với nhau vì lý do bên ngoài. Nhưng khách hàng nên gắn bó với thành phố của họ. Do đó, cần phải hoán đổi Customer.city_uid
giây. Vì vậy, tôi nghĩ rằng tôi lần đầu tiên trao đổi các City.uid
s và sau đó thay đổi Customer.city_uid
s theo thông qua một UPDATE
-statement. Thật không may, tôi không thể làm điều đó vì những uids
này được tham chiếu từ Customer
-có thể sử dụng được và PostgreSQL ngăn tôi làm điều đó.
Có cách nào dễ dàng để hoán đổi hai số City.uid
s với nhau cũng như Customer.city_uid
s không?
Vấn đề trở nên lớn hơn nếu bạn có N bảng tham chiếu bảng "chính" (trong trường hợp thành phố) của bạn. Cho đến nay, đây là giải pháp yêu thích của tôi: http://stackoverflow.com/a/18273069/633961 (Nhưng tôi vẫn đang tìm cách tốt hơn để giải quyết vấn đề này). – guettli